使用Jquery设置单选按钮值(多个单词/包含空格)

时间:2014-02-15 18:10:34

标签: javascript jquery html

我正在创建一个使用单选按钮让用户选择答案的测验。我想将单选按钮的值设置为答案(即Q:“西班牙的首都是什么?”单选按钮值:“马德里”)。当答案是数字或单字符串时,我没有问题,但带空格的字符串只返回字符串的第一个单词作为单选按钮的值。

答案存储在一个数组中,我正在迭代它以填充测验选项。

for (var j = 0; j < answers.length; j++) {
            var radio = $('<input type="radio" value=' + answers[j] + ' name="choice" />');
            $("#As").append(radio).append(answers[j]).append("<br />");
        }

问题在于,在检查用户的答案是否正确时,我将他们检查的单选按钮的值与实际答案进行比较。对于多个单词答案,用户选择的值以“firstword”形式出现,而答案可能是“firstword secondword thirdword”。这些不相等,用户不公平地错过了一个观点。

我通过简单地将单选按钮的值设置为j然后将答案[j]与正确答案(效果很好)进行比较来解决这个问题,但有没有办法直接将单选按钮的值设置为字符串包含空格,还是有其他方式可以更好地实现这个?将单选按钮的值设置为多字符串不是一种好的做法吗?我找不到它明确声明值不能包含空格,但似乎是这种情况。

1 个答案:

答案 0 :(得分:3)

我认为这是因为你忘了把引号放在你所放的价值的一边。请试试这个

for (var j = 0; j < answers.length; j++) {
   var radio = $('<input type="radio" value="' + answers[j] + '" name="choice" />');
   $("#As").append(radio).append(answers[j]).append("<br />");
}