Радио кнопки не проверены в jQuery - PullRequest
51 голосов
/ 16 декабря 2008

У меня есть эта строка кода для загрузки страницы:

if ($("input").is(':checked')) {

и работает нормально, когда проверен вход радиокнопки. Однако я хочу обратного. Что-то вроде

if ($("input").not(.is(':checked'))) {

чтобы оператор if выполнялся, когда не выбрана ни одна из радиокнопок. Как лучше всего это сделать?

Ответы [ 6 ]

64 голосов
/ 16 декабря 2008
if ( ! $("input").is(':checked') )

не работает?

Вы также можете попробовать перебрать элементы следующим образом:

var iz_checked = true;
$('input').each(function(){
   iz_checked = iz_checked && $(this).is(':checked');
});
if ( ! iz_checked )
23 голосов
/ 17 декабря 2008
if ($("input").is(":not(:checked)"))

AFAIK, это должно работать, протестировано на последней стабильной версии jQuery (1.2.6).

10 голосов
/ 17 декабря 2008

Если мой профилировщик firebug работает нормально (и я знаю, как правильно его использовать), это:

$('#communitymode').attr('checked')

быстрее

$('#communitymode').is('checked')

Вы можете попробовать на этой странице:)

И тогда вы можете использовать его как

if($('#communitymode').attr('checked')===true) { 
// do something
}
8 голосов
/ 28 октября 2009
$("input").is(":not(':checked')"))

Это jquery 1.3, помните 'и' знаки!

6 голосов
/ 14 мая 2010
$('input:radio[checked=false]');

это также будет работать

input:radio:not(:checked)

или

:radio:not(:checked)
0 голосов
/ 25 декабря 2017

Это тоже работает. Кажется, самое короткое рабочее обозначение: !$('#selector:checked')

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