значение для data () будет игнорироваться

0

У меня есть список статей. Я фильтрую список на клиенте с помощью 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 %}
  • 0
    Откуда вы знаете, что часть .data() игнорируется?
  • 0
    потому что список совпадений такой же, как в разделе где searchgewerk == 0
Показать ещё 3 комментария
Теги:

1 ответ

1
Лучший ответ

Если вы пытаетесь фильтровать атрибут data-gewerk, вы можете найти что-то вроде этого:

$('tr.data-row[data-gewerk="' + searchgewerk + '"]:contains("' + searchterm + '")')

Эта:

.data(key, value)

это сеттер, он ничего не фильтрует.

  • 0
    Спасибо за это, но скрипт ничего не выбрал ...
  • 0
    моя вина. большое спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню