我有一个jquery插件 - 快速搜索 - 我需要在ajax调用后开始工作,这样用户仍然可以在添加/删除项目后搜索表格。
以下是执行插件的代码:
$('.quicksearch').quicksearch('table.quicksearch>tbody>tr',{
'delay':100,
'noResults': '.quicksearch tr.noresults',
'removeDiacritics':true,
});
当我执行ajax请求时,我empty()
表格detach()
,然后append()
结束。
在SO上读了一下之后,看起来我必须在ajax调用完成后重新启动插件 - 在附加了表之后。
就像我第一次加载页面时那样 - 就像上面的代码一样。
在我的情况下,我将上述代码放在jqXHR.done()
。
但是由于我有很多需要这个插件的AJAX调用,我现在必须在每个调用的末尾添加这些小代码。
有没有办法让这更简单?或者它是怎么回事? 这是完全相同的代码..
答案 0 :(得分:1)
执行空/分离/追加后,您将不得不在桌面上调用.quicksearch函数。你可以把它全部放在像resetQuicksearchTable()这样的函数中,以使它更方便。
你也可以看看quicksearch是否对事件委托有任何支持,而不是直接附加到tr,但我还没有使用过那个插件,所以不能说。