我找到了一个如何在表格中搜索值的示例。
var $userRows = $('#UserTableContainer tr');
$('#searchuser').keyup(function () {
var val = $.trim($(this).val()).replace(/ +/g, ' ').toLowerCase();
$userRows.show().filter(function () {
var text = $(this).text().replace(/\screen+/g, ' ').toLowerCase();
return ! ~text.indexOf(val);
}).hide();
});
它正常"正常"表,请参见例如http://jsfiddle.net/7BUmG/2/但是,我使用jQuerys模板函数向表中添加值。
function PrintUsers(item) {
$.template('userList', '<tr>\
<td>${Firstname} ${Lastname}</td>\
</tr>');
$.tmpl('userList', item).appendTo("#UserTableContainer");
}
当我尝试在表格中搜索元素时,它只会过滤我的标题,即&#34;名称&#34;在这张表中排。
<table id="UserTableContainer">
<tr>
<th>Name</th>
</tr>
</table>
任何人都有任何想法,我做错了什么?
答案 0 :(得分:0)
更新代码
http://jsfiddle.net/7BUmG/128/
你需要使用'on'
来添加动态的dom元素。所以我们不能在目前的dom上使用keyup。
使用方法是::
$(document).on(events, selector, data, handler);
答案 1 :(得分:0)
Tobias,你的加价可能不对。
顺便说一句,如果您将使用表格标题,并且您不希望它过滤这些:
var $rows = $('#table tr').not(':first');