Как получить значение выбранного радиокнопки в форме с помощью JQuery - PullRequest
1 голос
/ 01 марта 2012

Я видел документы jquery, stackoverflow и другие форумы, но, похоже, это не работает.

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

Если я уберу переключатель из формы, я могу получить его просто

var first_val = $('input:radio[name=Question0]:checked').val();

Но если я добавлю его в имя формы = стиль жизни

Любойэти комбинации не работают

У меня есть форма с именем lifestyle Я перепробовал все варианты в Chrome, и она не работает

Опция 1

var first_val = $('#lifestyle input:radio[name=Question0]:checked').val();
alert($('#lifestyle input:radio[name=Question0]:checked').val());

Опция 2

var first_val = $('form input:radio[name=Question0]:checked').val(); 
alert($('form input:radio[name=Question0]:checked').val());

Опция 3

var first_val = $('#lifestyle input:radio[name=Question0]:checked', '#lifestyle').val();
alert($('#lifestyle input:radio[name=Question0]:checked','#lifestyle').val());

И т. Д.

Я не получаю значение, и в сообщении указано неопределенное.

Ответы [ 3 ]

2 голосов
/ 01 марта 2012

"Если я уберу переключатель из формы, я могу получить его просто"

var first_val = $('input:radio[name=Question0]:checked').val();

. Этот селектор должен работать независимо от того, принадлежит ли вход к форме или нет.Вам нужно будет только указать форму, если есть несколько форм, каждая из которых имеет входные данные с одинаковым именем.

Я ожидаю, что это сработает:

$('form[name="lifestyle"] input:radio[name=Question0]:checked').val()

Опция 1 неработать, потому что ваша форма имеет имя"стиль жизни", но вы пытаетесь использовать формат селектора id с "#".Итак:

//use
"form[name=lifestyle]"
// not
"#lifestyle"

Вариант 2 выглядит хорошо для меня, при условии, что у вас есть только один элемент формы на странице.

Вариант 3 имеет ту же проблему с выбором "#" по id, а неимя, но также используя синтаксис $("selector", context), вы должны предоставить «Элемент DOM, Документ или jQuery для использования в качестве контекста» (как объяснено здесь , а не строку, но в любом случае, обеспечиваяэлемент как контекст, а затем поиск этого элемента внутри себя не имеет смысла.

0 голосов
/ 01 марта 2012

Проверьте следующую скрипку:

http://jsfiddle.net/NWEjg/2/

Надеюсь, это поможет.

0 голосов
/ 01 марта 2012

Но если я добавлю его к имени формы = стиль жизни

, измените селектор на

var first_val = $("form[name='lifestyle']").find(":radio[name='Question0']:checked").val();
alert(first_val);
...