Селекторы jQuery - PullRequest
       5

Селекторы jQuery

3 голосов
/ 13 сентября 2010

Я пытаюсь получить массив флажков, которые проверены И имеют определенный атрибут (тег), который НЕ пуст.

(я знаю, что атрибут с именем tag не совместим с HTML, но он работает во всех основных браузерах и значительно упрощает жизнь!)

например,

<input type="checkbox" name="First" tag="first@whatever.com" checked="checked">
<input type="checkbox" name="Second" tag="" checked="checked">

В приведенном выше примере только первый должен быть в массиве. Код, с которого я начал:

$('input:checkbox:checked')

Но это, очевидно, не гарантирует, что атрибут tag не будет пустым

ОБНОВЛЕНИЕ
Извините, что-то, о чем я раньше не думал - мне также нужно получить список флажков, чей tag пуст, чтобы пользователь мог быть предупрежден.Следующие не работают:

$('input:checkbox:checked[title=""]')
$('input:checkbox:checked:not([title])')

Спасибо за все ответы, очень признателен!

ОБНОВЛЕНИЕ 2

Приведенный выше код (с использованием title для хранения дополнительных данных) не работает чисто, кажется, из-за заголовка атрибута!Когда я изменил его на tag, он отлично работал.

Ответы [ 4 ]

3 голосов
/ 13 сентября 2010

HTML-совместимый

HTML:

<input type='checkbox' alt='bleh' checked='checked' id='1' />
<input type='checkbox' alt='' checked='checked' id='2' />

и селектор:

$('input:checkbox:checked[alt!=""]')

http://jsfiddle.net/LVqLw/

3 голосов
/ 13 сентября 2010

атрибуты используют синтаксис [tag = "first@whwhat.com"] в JQuery;попробуйте добавить это так:

$('input:checkbox[tag="first@whatever.com"]:checked')

Другой вариант - вы можете проверить метод данных в JQuery, который может добавлять данные в элемент HTML вместо использования атрибута тега: http://docs.jquery.com/Data

2 голосов
/ 13 сентября 2010

Вы можете просто использовать [tag], чтобы проверить, если он пуст или тег вообще существует.

Пример: http://jsfiddle.net/xCFfa/

$(":checkbox:checked[tag]");
2 голосов
/ 13 сентября 2010
$("input:checkbox[tag!='']:checked")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...