2010-06-17 2 views
2

Я хочу проверить, есть ли какая-либо радиокнопка, и если нет выбора для печати какого-либо сообщения оповещения.Проверка переключателя JQuery

HTML-код:

<form action="" id="form" name="form" method="post"> 
<input type="radio" id="form_rd" name="form_rd" value="1"> 1 
<input type="radio" id="form_rd" name="form_rd" value="2"> 2 
<input type="radio" id="form_rd" name="form_rd" value="3"> 3 
<button type="submit">send</button> 
</form> 

Jquery, что я использую для проверки:

$("form#form").submit(function() { 
if (!$("#form_rd").attr('checked')) {alert("not checked");return false;} 
}) 

код Это JQuery не работает. Какое лучшее решение для этой проверки переключателей?

+1

изменить id = "form_rd" на class = "form_rd" сперва! – antpaw

+0

Согласовано. Вы возитесь с умом браузера. – MvanGeest

ответ

5

Я не могу подчеркнуть, что ID должен быть уникальным! Так что измените свой id="form_rd" на (например) class="form_rd". Оставьте только name, потому что получателю не понравится запрос, если вы его тоже измените.

Попробуйте

$("form#form").submit(function() { 
    if ($("#form :radio:checked").length == 0) { 
     alert("not checked"); 
     return false; 
    } 
}); 

Это не сработает, если у вас есть несколько групп. Вам нужно решение для этого?

+0

@MvanGeest - Спасибо. Я попытался с этим, но продолжаю получать предупреждающее сообщение «не проверено», даже если переключатель включен! – Sergio

+0

Ну, идентификатор вашей формы - «форма», поэтому я исправил это в примере. Попробуй еще раз. Если он все еще не работает, покажите нам еще несколько HTML. (Или у вас есть несколько форм? Все с идентификатором 'form'? Тогда это проблема.) – MvanGeest

+0

@MvanGeest - Вот пример ссылки: http://jsfiddle.net/4kEqx/ У меня нет несколько форм. Только один. – Sergio

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