我正在尝试使用一些过滤器过滤表格。有些是简单的选择,有些则是倍数。对于简单的那些,没关系,但不是倍数。
我想遵循这个逻辑:
filtre_transports
)ligne_transports
)transports_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_matches
始终为false。
顺便说一句,我看到this post的答案是使用类,但没有它们有没有办法?
编辑:你可以看到JSFiddle here。
由于
答案 0 :(得分:1)
修正:http://jsfiddle.net/r4mfv/2/
你有几个问题:
$(filtre_transports).each
不是迭代数组的方法,您应该使用$.each(filtre_transports, function() {...})
。
在比较之前,您应该将filtre
和this
投放到String
。