проверить, имеет ли пользовательский атрибут конкретное значение - PullRequest
0 голосов
/ 15 марта 2012

Сначала моя проблема казалась легкой, но я застрял.

У меня есть несколько контейнеров (div) на моей странице с некоторыми пользовательскими атрибутами.

<div class="myclass" myattr1="blah" myattr2="text1-text2-text3-text4-"></div>

myattr1 и myattr2 определяются какme.

Все элементы div отображаются при загрузке страницы.

Теперь, в зависимости от выбора пользователя из списка, я хочу показать только элементы div с myattrib1 = "blah" и скрыть остальные.

Я попробовал следующий код, но безуспешно

$('#mySelectID').change(function() 
{
var startName = $(this).val();

$(".myclass").not('[myattrib1!="+startName+"]').toggle();

});

Тот же подход будет использоваться для фильтрации результатов по attrib2, но там я буду использовать myattrib2 | = "+ startName +"(Я думаю, что это правильно - вот почему у меня есть дополнительный - в конце myattr2 = "text1-text2-text3-text4 -").

Может кто-нибудь посоветовать мне, как правильно добиться такого родафильтрация?спасибо!

1 Ответ

1 голос
/ 15 марта 2012

Вы близки, но, как вы можете видеть из подсветки синтаксиса, вы не выполняете конкатенацию строк. +startName+ будет воспринято буквально. Исправьте цитаты и ваш штраф:

.not('[myattrib1!="' + startName + '"]')

Обратите внимание, что вы должны использовать data-* атрибуты вместо пользовательских.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...