You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加DataTables外部搜索框后清空按钮点击无响应问题的解决求助

解决DataTables自定义搜索框清空按钮无响应的问题

我之前也碰到过一模一样的问题,其实根源很好找:浏览器自带的搜索框清空按钮(就是那个小叉叉)点击时,并不会触发keyup事件,但你之前的代码只监听了keyup,所以表格收不到更新信号,就一直卡在搜索结果状态。而DataTables默认的搜索框是内置处理了所有输入变化场景的,所以不会有这个bug。

最直接有效的解决方法,是把监听的事件从keyup换成input——这个事件能覆盖所有输入内容变化的场景,包括点击清空按钮、粘贴文本、剪切内容等等,完美适配你的需求。

修改后的代码如下:

$(document).ready(function () { 
  var table = $('#example').DataTable({ 
    "dom": 'ifrtp' 
  }); 
  // 替换keyup为input事件,覆盖更多输入操作
  $('#mySearchText').on('input', function () { 
    table.search(this.value).draw(); 
  }); 
});

如果需要兼容非常老旧的浏览器(比如IE9及以下),还可以额外加上propertychange事件的监听,不过现在大部分场景下只用input就足够了:

$('#mySearchText').on('input propertychange', function () { 
  table.search(this.value).draw(); 
});

这样修改后,点击搜索框的清空按钮,表格就会立刻重新绘制并显示全部数据了。

内容的提问来源于stack exchange,提问作者Lorraine1996

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 16:32:32