2015-05-07 4 views
1

У меня есть таблица с полными флажками и переключатель. Если установлен какой-либо из флажков, необходимо также проверить переключатель или дать сообщение об ошибке.Ошибка при получении значения переключателя

Моя ошибка работает нормально с этим флажком, но когда я добавляю условие для переключателя &, оно всегда дает ошибку. У меня, вероятно, есть ошибка в синтаксисе, но я пробовал каждую работу.

var tablecheck = $('#mytable').find(':checked').length; 
var radiocheck = $('#myradio').find(':checked').length; 

if ((tablechecked) && (!radiocheck)){ 
    alert('You must pick a radio button, if you have a box checked'); 
} 
+2

Попробуйте использовать $ ('# myradio'). Is (': checked'), чтобы получить логическое значение. – Taplar

+0

Это работает, я не знаю, почему я не пытался это начать. Спасибо – user2168066

+0

Что вы находите здесь '$ ('# mytable'). Find (': checked'). Length' ???? – Manwal

ответ

0

Как было предложено @Taplar в комментариях.

HTML

<input type="checkbox" id="mytable" /><br/> 
<input type="radio" id="myradio" /> 

JS

$(document).ready(function() { 

    $('#mytable').change(function() { 
     var tablecheck = $('#mytable').is(':checked'); 
     var radiocheck = $('#myradio').is(':checked'); 

     if ((tablecheck) && (!radiocheck)) { 
      alert('You must pick a radio button, if you have a box checked'); 

     }; 

    }); 

}); 

JSFiddle

0

Это просто опечатка и Отсутствует информация

var tablecheck = $('#mytable').find(':checked').length;//intialized "tablecheck" 
if ((tablechecked) && (!radiocheck)){ //using thired form of variable 
    ^^^^^^^^^^^^ 

Полный код может быть за счет использования is(:checked):

var tablecheck = $('#mytable').find(':checked').length; 
var radiocheck = $('#myradio').is(':checked');// also changed to correct function 
if ((tablecheck) && (!radiocheck)){ 
    alert('You must pick a radio button, if you have a box checked'); 

Его Working Fine.

Смежные вопросы