2013-07-02 3 views
1

У меня есть 2 переключателя, которые я хочу сбросить, если оба они не отмечены. Я уверен, что мой синтаксис где-то не прав, и мне будет очень полезно помочь в этом, и если есть лучший способ сделать это. Спасибо.

Мои JS скрипку ссылка: [http://jsfiddle.net/squirc77/THQj2/18/]Синтаксис для оператора && с jquery

ответ

1

Вы пропустили (

if(( !$('#radio1').attr('checked')===true) && 
----^      (!$('#radio2').attr('checked'))===true) { 

и вы должны добавить возвращение ложных также

$('#validate').show(); 
return false; 

Окончательный код

$('#submit').click(function(){ 
    if((!$('#radio1').attr('checked')===true) && (!$('#radio2').attr 
                 ('checked'))===true) { 
    $('#validate').show(); 
    return false; 
    }else{ 
     $('#validate').hide(); 
    } 

}); 

Updated Fiddle

+0

Все вы рок. Спасибо за все итерации. Получил это сейчас. : D – squirc77

+0

@ squirc77 Добро пожаловать :) –

1

вы делаете, чтобы выглядеть комплекс - вы можете просто сделать этот

$('#submit').click(function (e) { 
    e.preventDefault(); 
    if (!$('#radio1').prop('checked') && !$('#radio2').prop('checked')) { 
     $('#validate').show(); 
    } 
}); 

Demo ----->http://jsfiddle.net/THQj2/33/

+1

Я думаю '.prop ('checked')' уже возвращает логическое значение: P –

0

Ваш синтаксис является неправильным (отсутствует (). Вот fiddle с правильным синтаксисом

0

Существует дополнительный кронштейн после того, как первый так .. это должно быть так:

$('#submit').click(function(){ 
    if(!$('#radio1').attr('checked')===true && (!$('#radio2').attr('checked'))===true) { 
     $('#validate').show(); 
    } 
}); 

Обновлено jsfiddle здесь: http://jsfiddle.net/THQj2/31/

+0

Удивительный! Большое вам спасибо за быстрый ответ! – squirc77

0

Правильно!

$('#submit').click(function(){ 
    if((!$('#radio1').attr('checked')===true) && (!$('#radio2').attr('checked'))===true) { 
    $('#validate').show(); 
} 

}); 
Смежные вопросы