2009-11-04 3 views
0

Досадно, что установка свойства cssClass элемента управления checkbox ASP.NET делает HTML таким образом, вместо того, чтобы просто добавлять атрибут класса к входной тег:Нужна помощь с селектором JQuery, который возвращает все отмеченные флажки, которые являются дочерними узлами узла с указанным классом

<span class="myclass"> 
    <input id="chkBox1" type="checkbox" name="chkBox1" /> 
</span> 

Так вот я пытаюсь написать фильтр Jquery, который находит все выбранные флажки, которые вложены в тег диапазона с классом «MyClass» указанного.

Это то, что у меня есть до сих пор, но оно, похоже, не работает.

$(".myclass input[type='checkbox']:checked") 

Кто-нибудь видит, что я делаю неправильно?

Я также принимаю решение, в котором рассказывается, как установить флажок управления, чтобы поместить атрибут класса dang в элемент управления ввода вместо того, чтобы обернуть вокруг него промежуток.

ответ

2

Это должно работать:

$("span.myclass :checkbox") 

ли вы также должны их проверили? Тогда вот так:

$("span.myclass :checkbox:checked") 
+0

Это сделало трюк. Благодаря! Именно поэтому я понимаю. Я думал, что добавление пробела в селектор в основном эквивалентно OR для атрибутов по обе стороны от пространства. Я ошибаюсь? – JohnFx

+1

Космос означает гнездование. См. Документы: http://docs.jquery.com/Selectors/descendant#ancestordescendant – DreamSonic

1

На самом деле, я не думаю, что вам нужен тип ввода, потому что только флажок может быть прав для: checked, чтобы вы могли написать $ (". Myclass"). Find ("input: checked"), и, вероятно, это должно быть штраф

+0

Радио-кнопка также может быть проверена. – DreamSonic

+0

Спасибо за разъяснение. –

+0

Не менее хороший ответ, но я принял другой, потому что стиль селектора работает лучше в моей конкретной ситуации, чем синтаксис .find. Определенно все еще стоит upvote (+1). – JohnFx