いくつかのフィルターを使用してテーブルをフィルター処理しようとしています。単純な選択のものもあれば、倍数のものもあります。単純なものの場合、それは問題ありませんが、複数ではありません。
私はこの論理に従いたい:
- フィルタを含む配列を通過する(
filtre_transports
) - 値を含む配列を通過する(
ligne_transports
) - 1.の要素が2.にない場合は、行(
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になります。
ところで、私は答えがクラスを使用することであるこの投稿を見ました、しかしそれらなしで方法はありますか?
編集:ここでJSFiddleを見ることができます。
ありがとう