使用querySelector从单选按钮读取2个值
您好,我如何使用queryselector从单选按钮中读取两个值并将值存储在javascript中的数组中。下面的代码示例是:使用querySelector从单选按钮读取2个值
<input type="radio" name="one" value="correct" class="firstRow"> Option 1 Mark 1: $650
<input type="radio" name="two" value="incorrect" class="secondRow"> Option 1 Mark 2: Twitter<br>
<input type="radio" name="one" value="incorrect" class="firstRow"> Option 2 Mark 1:$550
<input type="radio" name="two" value="incorrect" class="secondRow"> Option 2 Mark 2:Google<br>
<input type="radio" name="one" value="incorrect" class="firstRow"> Option 3 Mark 1:$650
<input type="radio" name="two" value="correct" class="secondRow"> Option 3 Mark 2:$650<br>
<!--button -->
<input type="button" value="Submit & Next Question" onclick="getAnswer3(this.form)" class="firstRow">
<input type="button" value="Cancel & Clear Selection" onclick="clearOptions(this.form)">
的Javascript我的想法:
function getAnswer3(form) {
var result = [];
//this only reads one value but i need to read 2 values..
var checked = form.querySelector("input[type=radio]:checked");
if(!checked) {
alert('Please select 2 answers..');
}
else{
//reads the values
}
//stores the values in the array..
}
你需要form.querySelectorAll("input[type=radio]:checked");
记住什么来自querySelectorAll
回来是不是一个真正的数组,所以没有按没有任何典型阵列所具有的特别有趣和简单的帮助方法。
它确实有一定的长度。尽管如此,
if checked
不会有帮助。 你总是会得到一个NodeList
回来。
该列表可能有长度=== 0,但它仍然是一个列表(因此仍然通过检查,看它是否存在)。请检查长度是否为< 2。
非常感谢像魅力一样工作。 – user3497437
javascript中的“==”和“===”的区别是什么 – user3497437
@ user3497437类型强制。 'false == undefined;''null == undefined;''0 undefined;''''== undefined;'与'false!== undefined;'null!== undefined;''0!= = undefined;''''!== undefined;'不要害怕它,但要理解为什么你要在你的代码中使用'==='而不是'=='。 – Norguard
而不是'input [type = one]:checked'应该是'input [type = radio]:checked' –
@The是更新了更正,但它只需要一个值而不是2个值,因为我打算多多谢谢 – user3497437