簡體   English   中英

如何獲取輸入單選按鈕的值並根據答案執行某些操作?

[英]How to get the value of an input radio button and do something based on answer?

我實質上是在做10個問題的測驗。 我知道有很多方法可以做到這一點,並且有很多關於如何獲得輸入單選按鈕的值的答案,但是我只是想不通! 我將Foundation 5的Abide Validation用於“ required”屬性和“ on('valid.fndtn.abide')”,這只是確保立即選擇一個答案。

HTML

<h2>Choose one answer:</h2>
<div class="radio">
    <div class="input-radio"><input type="radio" name="question_10" value="Wrong" id="option_37" required><label for="option_37">Answer 37</label></div>
    <div class="input-radio"><input type="radio" name="question_10" value="Wrong" id="option_38" required><label for="option_38">Answer 38</label></div>
    <div class="input-radio"><input type="radio" name="question_10" value="Wrong" id="option_39" required><label for="option_39">Answer 39</label></div>
    <div class="input-radio"><input type="radio" name="question_10" value="Correct" id="option_40" required><label for="option_40">Answer 40</label></div>
</div>

我現在擁有的Javascript(沒有其他東西)。 現在,即使我選擇正確的答案,它也會返回“否”。 如果我將所有答案均設置為“正確”,它將返回“是”。

$(document).ready(function(){
    $('.form-prepare').on('valid.fndtn.abide', function(e) {
        var answer10 = $("input[name='question_10']").val();

        if (answer10 === "Correct") { alert("Yes!"); } 
        else { alert("No!"); 
        e.preventDefault();
    });
});

編輯:刪除了問題的第二部分,因為我認為這可能是它自己的問題。 按照答案,我缺少輸入變量的:checked部分。 謝謝!

當選擇器返回一個集合時,jQuery的.val()方法將僅返回第一個元素的值,因此您總是在檢索名稱等於question_10的第一個輸入的值。

要正確檢索值,您需要限制選擇器僅返回選中的元素,如下所示:

$("input[name='question_10']:checked").val();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM