我正在尝试根据数据属性过滤表格,而不是td
标记内的值。
问题是,我无法让它工作,因为我总是得到这个错误:
未捕获的TypeError:无法调用未定义的方法'匹配'
$(document).ready(function(){
var elemens = $("td")
searchInput = $("#search")
searchInput.on('keyup',function(){
elemens.each(function(){
var re = new RegExp(searchInput.val(), 'gi');
if( $(this).data('gui').match(re) === null )
{
$(this).parent('tr').hide();
}else{
$(this).parent('tr').show();
}
});
});
});
我的小提琴: http://jsfiddle.net/T57ba/3/
答案 0 :(得分:3)
数据属性在tr而不是td上,.data()
也将转换适用的类型,在本例中为数字。而是使用.attr()
$(document).ready(function(){
var elemens = $("tr")
searchInput = $("#search")
searchInput.on('keyup',function(){
elemens.each(function(){
var re = new RegExp(searchInput.val(), 'gi');
if( $(this).attr('data-gui').match(re) === null ){
$(this).hide();
}
else{
$(this).show();
}
});
});
});