У меня есть список статей. Я фильтрую список на клиенте с помощью jquery.
Следующая функция работает очень хорошо, единственной частью является то, что данные() будут проигнорированы. поисковый запрос по умолчанию равен 0 или получает другое значение, существующее в списке.
function filterArticlelist( searchterm, searchgewerk )
{
if(searchterm.length > 1) {
if( searchgewerk == 0 )
{
var match = $( 'tr.data-row:contains("' + searchterm + '")' );
var nomatch = $( 'tr.data-row:not(:contains("' + searchterm + '"))' );
}
else
{
//When searchgewerk is not 0 then i reach this else part. With console.log() the correct searchgewerk value would be logged.
var match = $( 'tr.data-row:contains("' + searchterm + '")').data( "gewerk",searchgewerk );
var nomatch = $( 'tr.data-row:not(:contains("' + searchterm + '"))' ).data( "gewerk",searchgewerk );
}
match
.addClass( 'selected' )
.css( "display", "" );
nomatch
.css( "display", "none");
}
else
{
$('tr.data-row').css("display", "");
$('tr.data-row').removeClass('selected');
}
}
Где моя ошибка? Может быть, я думаю, что это можно сделать в Wronk? Я также пробовал hasData(), но это также делает работу.
Спасибо за вашу помощь
Это представление для каждого tr, его сборки с TWIG:
{% for data in ObjektArtikel %}
{% if loop.index0 is not even %}
{% set background = "trAvailableArticleBackground" %}
{% else %}
{% set background = "trAvailableArticleNoneBackground" %}
{% endif %}
<tr class="data-row trAvailableArticle {{ background }}" id="{{ data.artikelnummer }}" data-gewerk="{{ data.su_gewerk }}">
<td class="tdArticleNumber">
{{ data.artikelnummer }} - {{ data.su_gewerk }}
</td>
<td class="tdArticle">{{ data.artikel }}</td>
<td class="tdArticleDescription">{{ data.beschreibung }}</td>
<td class="tdArticleEinheit">{{ data.einheit }}</td>
<td><img class="addArticle" src="/bundles/mbsallgemein/images/add.png"></td>
</tr>
{% endfor %}
Если вы пытаетесь фильтровать атрибут data-gewerk
, вы можете найти что-то вроде этого:
$('tr.data-row[data-gewerk="' + searchgewerk + '"]:contains("' + searchterm + '")')
Эта:
.data(key, value)
это сеттер, он ничего не фильтрует.
.data()
игнорируется?