我正在尝试使用过滤器来查找包含两个不同数据属性(除了一般文本)中的特定值的表行。
我似乎无法正确读取这两个数据属性的值。将值(licData 和 stateData)输出到控制台显示“未定义”。而且,当然,搜索失败了。
JS
var $rows = $('.livesearch tr');
$('#search').keyup(function() {
var val = $.trim($(this).val()).replace(/ +/g, ' ').toLowerCase();
$rows.show().filter(function() {
var text = $(this).text().replace(/\s+/g, ' ').toLowerCase();
var licData = $(this).find('td').attr('data-lic');
var stateData = $(this).find('td').attr('data-state');
console.log(text + '-' + licData + '-' + stateData + '<br>');
if (!~stateData.indexOf(val) || !~licData.indexOf(val) || !~text.indexOf(val)) {
return true;
} else {
return false
}
}).hide();
});
示例表行
<tr>
<td>Aaron</td>
<td>Ellebrach</td>
<td>Clerical</td>
<td>444-444-4444</td>
<td>Call</td>
<td data-lic="special">C</td>
<td data-state="state data here">CA</td>
</tr>