我正在创建一个测验,它使用单选按钮让用户选择他们的答案。我想将单选按钮的值设置为答案(即问:“西类牙的首都是什么?”单选按钮值:“马德里”)。当答案是数字或单字字符串时,我可以毫无问题地执行此操作,但带空格的字符串仅返回字符串的第一个单词作为单选按钮的值。
答案存储在一个数组中,我正在遍历它以填充测验选项。
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 然后将 answers[j] 与正确答案进行比较(效果很好)来解决这个问题,但是有什么方法可以直接将单选按钮的值设置为字符串包含空格,或者有没有其他方法可以更好地实现这一点?单选按钮的值是一个多词字符串不是很好的做法吗?我找不到它明确指出值不能包含空格,但似乎是这样。
最佳答案
我认为这是因为您忘记在您输入的值之外加上引号。请试试这个
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 />");
}
关于javascript - 使用 Jquery 设置单选按钮值(多于一个单词/包含空格),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21801574/