任何人都可以看看我的小提琴,让我知道我哪里出错了?我只是想检查表格中的第二列,如果它包含所选择的菜单中的任何单词,它应该显示该行。
答案 0 :(得分:0)
您需要将if语句更改为:
if (check && check.indexOf(letter) > 0) {
$(this).parent().show();
}
只有当所选值不喜欢(==而不是>)时,您的条件才为真。此外,要获取each()循环内的父级,您始终需要引用当前对象。
在您的网站中,您需要将代码包装在$( document ).ready()
事件中。试试这个:
jQuery( document ).ready( function() {
jQuery('select.filterMe').change( function(e) {
var letter = jQuery(this).val();
if (letter === 'ALL') {
jQuery('tr').show ();
}
else {
jQuery('tr').each( function(rowIdx,tr) {
jQuery(this).hide().find('td').each( function(idx, td) {
if( idx === 0 || idx === 1) {
var check = jQuery(this).text();
if (check && check.indexOf(letter) > 0) {
jQuery(this).parent().show();
}
}
});
});
}
});
});