jQuery DataTables 鼠标点击搜索
Posted
技术标签:
【中文标题】jQuery DataTables 鼠标点击搜索【英文标题】:jQuery DataTables Search on mouseclick 【发布时间】:2012-07-05 23:27:54 【问题描述】:我正在研究 jQuery 数据表。我已经为搜索文本框实现了预测搜索功能,这样当用户开始输入时,它会显示 10 个最近搜索过的项目/字符串的列表。现在这里的问题是,如果我使用键盘选择任何列表项,过滤会立即发生,即在每次按键时,而当我用鼠标单击选择列表项时,它不会过滤表格。我必须按 Enter 才能过滤表格。我希望能够在按键和鼠标点击时过滤表格。这如何在数据表中实现?任何建议都会有很大帮助!
【问题讨论】:
【参考方案1】:你可以这样做;
首先,您需要在单击时设置一个 JQuery 事件,因此在下拉列表中为所有选项提供一个类,例如 recentItems。那你就可以这样写了;
$(document).ready(function()
$('.recentItems').click(function()
var filterString = $('.dataTables_filter :input').val();
oTable.fnFilter(filterString);
);
);
这假设你给你的数据表一个变量名 oTable。
【讨论】:
使用多个事件 ..keypress
和 click
:)
@Garbage,数据表已经对 keyup 进行了过滤。这是自定义输入没有触发过滤器的问题。
是的,它是自定义输入,那么它将如何识别keyup
事件?如果我们使用自定义输入,那么我们应该绑定多个事件 [如果我们真的需要它] :)
输入字段不是自定义的,是数据表插件的内置部分。他提示的下拉建议是自定义的。当用户单击一个时,它会填充标准输入框,但不会触发过滤器。
NP,如果这对您有用,请标记为正确答案。【参考方案2】:
$('#filter-data-button').click(function()
oTable.search('your value').draw();
);
【讨论】:
以上是关于jQuery DataTables 鼠标点击搜索的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 jQuery DataTables 插件在特定列中搜索?
jquery plugins —— datatables 搜索后汇总