将单选按钮值与预定值进行比较

compare radio button value to a predetermined value

本文关键字:比较 单选按钮      更新时间:2023-09-26

我正在尝试将选定的单选按钮值与预定值进行比较,然后显示对应于匹配或不匹配的文本。这似乎应该足够简单,但无论两个值是否匹配,它都会显示"匹配"文本。

这是我的代码:

submit: function() {
    $("#submit").click(function(){
        if($("input:radio[name=answers]:checked").val() == triviaGame.correctSelection) {
            $("#result").text("Correct!");
        } else {$("#result").text("I'm sorry, you did not select the correct answer :(");}
    });

我也试过:

submit: function() {
$("#submit").click(function() {
    if ($("input:radio[name=answers]:checked").val() == triviaGame.questions[questionSelectNum].choices[triviaGame.questions[questionSelectNum].choices[0]]) {
        $("#result").text("Correct!");
     } else {$("#result").text("I'm sorry, you did not select the correct answer :(");}
});

我已经尝试了=====以及其他语法调整。

我检查以确保我在nextQuestion方法中正确设置了单选按钮的值,并且我的测试有效,所以我认为这不是问题所在。最让我困惑的是,if(true)代码在不应该执行的时候执行,而不是在不应该的时候执行else(false)代码,我认为这将是一个更有可能的错误。

这是我的 HTML:

<div>
    <button id = "nextQuestion">Next Question</button>
    <br></br> 
    <div id = "questionDisplay"></div>
    <br></br>
    <input type="radio" id= "1" name="answerswers" value="defaultVal">
    <label id= "labelOne">Answer 1</label>
    <br></br>
    <input type="radio" id= "2" name="answerswers" value="defaultVal">
    <label id= "labelTwo">Answer 2</label>
    <br></br> 
    <input type="radio" id= "3" name="answerswers" value="defaultVal">
    <label id= "labelThree">Answer 3</label>
    <br></br>
    <input type="radio" id= "4" name="answerswers" value="defaultVal">
    <label id= "labelFour">Answer 4</label>
    <br></br>
    <button id = "submit">Submit</button>
    <br></br>
    <div id= "result">Please select an answer above</div>
</div>   

这是jsbin上完整代码的链接。

抱歉,一开始我弄错了棍子,我认为您只需要更新本节:

 //sets the values of each radio button to the same value as each radio's corresponding answer 
   $("#1") .val(triviaGame.firstAnswer);
   $("#2") .val(triviaGame.firstAnswer);
   $("#3") .val(triviaGame.firstAnswer);
   $("#4") .val(triviaGame.firstAnswer);

有了这个:

 //sets the values of each radio button to the same value as each radio's corresponding answer 
   $("#1") .val(triviaGame.firstAnswer);
   $("#2") .val(triviaGame.secondAnswer);
   $("#3") .val(triviaGame.thirdAnswer);
   $("#4") .val(triviaGame.fourthAnswer);

http://jsbin.com/OKecora/1/edit