我在我的网站上使用数据表(https://datatables.net),并希望使用levenstein方法覆盖默认搜索功能。
我已经有了levenstein方法,但是我在抓取搜索框的值以测试它时遇到了问题。 Datatables添加的搜索框没有id或名称或其他任何我可以轻松用来定位该元素的内容。
我可以想出两种方法来解决这个问题:
这就是我所拥有的。
$.fn.dataTable.ext.search.push(
function( settings, data, dataIndex ) {
var search = /* this should be the search box value */;
var title = data[1];
return ( title.toLowerCase().levenstein(search.toLowerCase()) < title.length ) ? true : false;
}
);
您能否帮助我解决上面列出的选项之一。
谢谢。
答案 0 :(得分:1)
没有ID或名称或其他任何内容
嗯,是的确有。这对我有用:
_filter
只需转到搜索框并进行检查(如果您不知道如何在Chrome中执行此操作,只需右键单击任何元素并选择Inspect),您就可以看到它如何为您自己工作。 DataTables将一个id(你的表名加上preventDefault
加到)包装输入框的div,它是div中唯一的输入框。所以这个选择器有效。你也想做一个{{1}},这样在按键后就不会运行DataTables搜索。