Javascript 具有多选功能的jQuery筛选表
我正在尝试使用一些筛选器筛选表。有些是简单的选择,有些是倍数。对于简单的,这是可以的,但不是倍数 我想遵循这个逻辑:Javascript 具有多选功能的jQuery筛选表,javascript,jquery,filter,Javascript,Jquery,Filter,我正在尝试使用一些筛选器筛选表。有些是简单的选择,有些是倍数。对于简单的,这是可以的,但不是倍数 我想遵循这个逻辑: 通过包含筛选器的数组(filter\u传输) 通过包含值的数组(ligne_传输) 如果是1的一个元素。不在2区。因此不显示该行(transports\u matches=false) 我制定了以下代码: // Pass through each line of the table jQuery('#agents_liste tbody tr').not('.vide').ea
filter\u传输
)ligne_传输
)transports\u matches=false
)// Pass through each line of the table
jQuery('#agents_liste tbody tr').not('.vide').each(function() {
var transports_matches = true;
// ligne_transports is an array contains values to compare with the filter
var ligne_transports = jQuery(this).children('td').eq(2).text().split('###');
// filtre_transports is an array contains the selected val of a multi select
jQuery(filtre_transports).each(function() {
var filtre = jQuery(this);
var filtreOk = false;
jQuery(ligne_transports).each(function() {
if (filtre == jQuery(this)) {
filtreOk = true;
return false;
}
});
if (!filtreOk) {
transports_matches = false;
return false;
}
});
});
问题是:当我们选择了过滤器时,结果transports\u matches
总是错误的
顺便说一句,我知道答案是在哪里使用类,但有没有办法不使用它们
编辑:您可以看到JSFIDLE
谢谢修复:
你有几个问题:
$(filter\u transports)。每个
都不是迭代数组的方法,您应该使用$。每个(filter\u transports,function(){…})
filter
和this
转换为String
使用类绝对不是必需的。你能把它发布在JSFIDLE上吗?这样我们就可以看一个(不)工作的例子了?你现在可以看到JSFIDLE了,无论如何谢谢你的评论!您确定简单的$(x).each()不适合在数组上迭代吗?如果你有一个关于它的链接,请发表评论,我很感兴趣。。非常感谢您的回答,+1和“接受”!:)$(x) .each用于在jQuery对象上迭代,$.each-在任何iterable JS对象上迭代。