Значение переключателя jquery не работает, если их несколько
Я использую JQuery для моей формы. В моей форме много вопросов типа "радион".
<div>
<label>1) Competently cut paper with scissors?</label>
<br />
<input type="radio" name="CAT_Custom_165607" id="CAT_Custom_165607_0" value="Yes" />
Yes
<input type="radio" name="CAT_Custom_165607" id="CAT_Custom_165607_1" value="No" />
No
</div>
<div>
<label>2) Hold a pencil in a mature pencil grip? </label>
<br />
<input type="radio" name="CAT_Custom_165609" id="CAT_Custom_165609_0" value="Yes" />
Yes
<input type="radio" name="CAT_Custom_165609" id="CAT_Custom_165609_1" value="No" />
No
</div>
<div>
<label>3) Write his/her first name - recognisable? </label>
<br />
<input type="radio" name="CAT_Custom_165610" id="CAT_Custom_165610_0" value="Yes" />
Yes
<input type="radio" name="CAT_Custom_165610" id="CAT_Custom_165610_1" value="No" />
No
</div>
И у меня есть моя функция jquery здесь:
function checkWholeForm(){
var q1 = $('input[@name="CAT_Custom_165607"]:checked').val();
var q2 = $('input[@name="CAT_Custom_165609"]:checked').val();
var q3 = $('input[@name="CAT_Custom_165610"]:checked').val();
alert(q2);
return false;
}
Когда я выбрал нет, да, да на три вопроса. Он всегда предупреждает "Нет", что является значением q1. Но я попытался предупредить значение q2. Тот же результат, когда я предупредил q3. Здесь что-нибудь конфликтует? Приветствия.
3 ответа
Вы используете неправильный синтаксис для селектора атрибута. Правильный синтаксис
'input[name="CAT_Custom_165607"]:checked'
Обратите внимание, нет @
В последних версиях jQuery вы также можете сделать следующее, чтобы найти выбранный вход и вернуть значение.
$('input[name=CAT_Custom_165610]').val()
Кроме того, не проверяйте в Javascript, если это не только для эстетики. Это можно обойти. Всегда проверяйте в своем бэкэнд-коде, что бы это ни было.
Эй, пожалуйста, попробуйте этот код.
$('input:radio').change(function () {
alert($(this).val());
});
Я надеюсь, что это будет работать для вас.