2013-11-27 6 views
0

У меня есть форма, которая содержит данные, которые будут динамически добавляться в мою форму. Как только данные будут добавлены, я хотел бы подтвердить значение (в частности, если переключатель был отмечен) радиокнопки, а затем делать разные вещи, на основе которых установлен переключатель.не удалось проверить предварительно выбранную радиокнопку

В настоящее время я не могу это сделать независимо от состояния переключателя (например, отмечен или не установлен). Я всегда получаю предупреждение («Кнопка не проверяется»).

Код:

<!DOTYPE HTML> 
<html> 

<head> 
    <link type='text/css' rel='stylesheet' href='style.css'> 
    <!--jQuery Validation--> 
    <!--Loads JQuery and JQuery validate plugin--> 
    <script src="//code.jquery.com/jquery-1.9.1.js"></script> 
    <script type='text/javascript'> 
     $(document).ready(function() 
     { 


      function checkradio(radio) 
      { 

       if (radio.checked) 
       { 
        alert("no is checked"); 
       } 
       else 
       { 
        alert("no is not checked"); 
       } 

      } 

      function radiocheck() 
      { 

       checkradio($('#no')); 

      } 

      $('#submit1').click(function() 
      { 

       radiocheck(); 

      }) 


     }); 
    </script> 
</head> 

<body>  
    <input type='radio' id='yes' name='radiobutton' value='yes'>yes 
    <input type='radio' checked='checked' id='no' name='radiobutton' value='no'>no 
    <input type='button' id='submit1' name='submit' value='submit'>  
</body>  
</html> 
+1

Проверьте правильный способ проверить с JQuery http://stackoverflow.com/questions/2272507/find-out-if- radio-button-is-checked-with-jquery –

ответ

1

Вы пытаетесь использовать родной DOM элемент checked свойству объекта JQuery.

Можно использовать:

if(radio.is(':checked')); 

Или передать родной элемент DOM в checkradio(), а не объект JQuery

checkradio($('#no')[0]); 
0
function checkradio(radio){ 

    if(radio.prop('checked')) 
    { 
     alert("no is checked"); 
    } 
    else 
    { 
     alert("no is not checked"); 
    } 

} 

ИЛИ

$('#submit1').click(function(){ 
    if($('#no').prop('checked')){ 
     alert("is checked"); 
    }else{ 
     alert("is not checked"); 
    } 
}) 
0

попробовать этот

checkradio($("input:radio[name=radiobutton]")); 
+0

ID-селектор более эффективен. Селектор не имеет ничего общего с проблемой. Это решение не будет работать ... передавая один и тот же объект функции. – charlietfl

0

изменить код как

checkradio($("input[name='radiobutton']")); //This will give all radio buttons with name "radiobutton"

и if()

добавить radio.is(':checked')

FIDDLE

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