我有一个表格,它正在通过ajax调用进行动态重新填充。
我还有一个keyup事件,它基于用户输入过滤表格行:
$('input#DocumentType').keyup(function () { filter rows });
但是当我从ajax调用中重新填充表格时,过滤器不再起作用。有没有办法规避这个问题,以便我能够使用keyup事件?是否可以在每次ajax调用更改表格行时重新绑定它?
以下是我的过滤方法:
<script type="text/javascript">
var $cellsT = $("table tbody tr td:nth-child(4)"),
$hiddenT = $();
$("input#DocumentType").keyup(function () {
var search = $(this).val();
var $to_hide = $cellsT
.filter(function () {
var s = $(this).text().indexOf(search) === -1;
if (s === false) {
foundDocuments = true;
}
return $(this).text().indexOf(search) === -1;
})
.parent();
$hiddenT.not($to_hide.get()).show();
$hiddenT = $to_hide.hide();
});
</script>
.on()
和旧的.delegate()
API。 - Pointy