获取所选单选按钮的值无法正常工作

时间:2018-04-14 08:11:26

标签: javascript jquery

我正在进行测验并使用纯JS一切正常但是为了保持一致我想用jQuery做,但是jQuery总是在寻找无线电选项的第一个值,而不是选择的选项。有什么可以解决jQuery的问题?

HTML

<form id='quiz'>
    <input type='radio' class='mc' name='q1' value='a1'>Answer 1<br>
    <input type='radio' class='mc' name='q1' value='a2'>Answer 2 <!-- Selected option -->
</form>

JS

var a1 = document.quiz.q1.value;
alert(a1) // output is: a2

var a1 = $('#quiz').find('input[name="q1"]').val();
alert(a1) // output is: a1

1 个答案:

答案 0 :(得分:2)

这是通常的jQuery(或JavaScript)行为来获取第一个值而不是选定选项的值。使用jQuery时必须使用$(function () { var a = $('#quiz').find('input[name="q1"]:checked').val(); console.log(a); $("button").click(function () { var a = $('#quiz').find('input[name="q1"]:checked').val(); console.log(a); }); });

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id='quiz'>
  <label><input type='radio' class='mc' name='q1' value='a1'>Answer 1</label><br>
  <label><input type='radio' class='mc' name='q1' value='a2' checked="checked">Answer 2 </label><!-- Selected option -->
</form>

<button>Check Selected</button>
:)

在上面的代码段中,尝试选择一些内容并单击按钮以查看所选值。此外,默认情况下,我已经检查了第二个答案。 module.exports.globals = { bcrypt : require('bcrypt') } 希望这会有所帮助。