2013-06-15 2 views
0
<input type="radio" name="group2" value="Water"> Water<br> 
<input type="radio" name="group2" value="Beer"> Beer<br> 
<input type="radio" name="group2" value="Wine" checked> Tee 

    <span id="check" >check</span> 

И JQuery:Проверить значение радиокнопок

function check() 
{ 
    alert($('input[name=group2]').val()); 
} 
$('#check').click(function(){ 
    check(); 
}); 
$('input[name=group2]').change(function(){ 
    check() 
}) 

Live: http://jsfiddle.net/j9cj5/

Почему это всегда показывает мне воды? Как я могу проверить значение этих переключателей? Я хотел бы проверить это, если я изменю это значение, и если я нажму на проверку.

ответ

4

Заменить $('input[name=group2]') с $('input[name=group2]:checked') :)

Демо: http://jsfiddle.net/hungerpain/j9cj5/2/

Причина это происходит потому, что $('input[name=group2]') будет генерировать массив всех переключателей и, таким образом, будет давать только первый элемент (что происходит по умолчанию). Поэтому, чтобы получить выбранный элемент, вы должны использовать псевдоселектор :checked.

1

Попробуйте как этот

function check(val) { 
    alert(val); 
} 
$('input[name=group2]').change(function(){ 
    check($(this).val()); 
}); 

Это работает FIDDLE

5

Селектор $('input[name=group2]') подберет все элементы с таким именем, и val() возвращает только значение для первого элемента в коллекции, так что всегда Water. Вы должны предназначаться только проверенное радио:

function check() { 
    alert($('input[name=group2]:checked').val()); 
} 

FIDDLE

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