Ответ 1
Вот так:
if (!$('input.paid[type=checkbox]:not(:checked)').length)
do('stuff');
Это проверит, есть ли какие-либо флажки, которые не отмечены, и делайте что-нибудь, если их нет (т.е. все они отмечены).
У меня есть набор флажков
<input id="1" class="paid" type="checkbox" />
<input id="2" class="paid" type="checkbox" />
<input id="3" class="paid" type="checkbox" />
<input id="4" class="paid" type="checkbox" />
Я хотел бы написать jQuery, чтобы проверить, отмечены ли все флажки, а затем выполнить действие, но как?
Вот так:
if (!$('input.paid[type=checkbox]:not(:checked)').length)
do('stuff');
Это проверит, есть ли какие-либо флажки, которые не отмечены, и делайте что-нибудь, если их нет (т.е. все они отмечены).
Я думаю, что в jQuery была бы хорошая функция are
:
jQuery.fn.are = function(selector) {
return !!selector && this.filter(selector).length == this.length;
};
Использование:
if($('input.paid[type=checkbox]').are(':checked'))
Пример:
Я нашел эту функцию в http://api.jquery.com/is/ написанный Tgr, когда я проверял, существует ли это.