如何通过编程方式清除指定jQuery Datatable中的搜索输入框内容
解决方案
问题出在你使用了全局选择器$('input[type=search]'),会匹配页面中所有Datatable生成的搜索输入框,因此会清空所有实例的搜索内容。
你可以通过Datatable实例自带的API获取对应实例的容器,限定搜索框的查找范围,不会受DOM结构调整影响,适配性最强:
var dtTaskEmployee= $('#tblEmployee').DataTable({}); $('#modalEmployeeDetails').on('hidden.bs.modal', function () { // 仅查找当前dtTaskEmployee实例下的搜索输入框 $(dtTaskEmployee.table().container()).find('input[type=search]').val(''); dtTaskEmployee.search('').draw(); })
如果你的页面结构固定,也可以通过表格ID关联父容器查找,写法更简洁:
var dtTaskEmployee= $('#tblEmployee').DataTable({}); $('#modalEmployeeDetails').on('hidden.bs.modal', function () { $('#tblEmployee').closest('.dataTables_wrapper').find('input[type=search]').val(''); dtTaskEmployee.search('').draw(); })
内容的提问来源于stack exchange,提问作者vmb
相关产品推荐
相关产品推荐

