我将使用JavaScript来创建和评分测验。它有20个问题,并随机选择其中10个进行测验。我需要帮助的内容可以在下面的REALLY长行中找到。看看它在哪里说id =“q + correct”?此ID将用于对测验进行评分,以查看是否已选中。变量“q”包含为测验随机选择的数字(从1到10)。示例:如果q = 1(首先选择测验),我将使用document.getElementById('1correct').checked
查看是否已选中。但是,我不知道如何在此上下文中将变量“q”加入字符串“correct”。我很感激任何答案。
function choosequestions(){
var qList = [];
for(q=1; q < 11; q++){
var question = Math.floor((Math.random()*20)+1);
while (qList.indexOf(question) !== -1) {
question = Math.floor((Math.random()*20)+1);
}
qList.push(question);
if (question==1){
document.getElementById(q).innerHTML='Question '+ q +'. Which of these freedoms are protected in the 1st amendment?<br /><br /><input id="q + correct" type="radio" name="fav" value="country" />Freedoms of Religion, Speech and Petition.<br /> <input id="q + .2" type="radio" name="fav" value="blues" />Right to bear arms.<br /> <input id="q + .3" type="radio" name="fav" value="rock" />Right to \"Life, liberty, and the pursuit of happiness.\"<br /> <input id="q + .4" type="radio" name="fav" value="pop" />All of the above.</form>'
}
}
}
答案 0 :(得分:1)
因为长字符串是用撇号封装的,所以你应该能够这样做:
'<input id="' + q + 'correct" type="radio" name="fav" value="country" />'
答案 1 :(得分:0)
在javascript中,单个撇号''
和双撇号""
都用于字符串,但可以单独使用。
就像您将第一个q
变量添加到html中一样:
document.getElementById(q).innerHTML = 'Question ' + q + '... rest of string';
你需要打破字符串,添加变量q
,然后重新添加其余字符串。这需要在innerHTML字符串的多个部分中完成,而不仅仅是{{1发生。
以下是您应该插入的文本的简单介绍:
'correct'
请注意,您必须对输入document.getElementById(q).innerHTML = 'Question '+ q +
'. Which of these freedoms are protected in the 1st amendment?<br /><br />' +
'<input id="' + q + 'correct" type="radio" name="fav" value="country" />Freedoms of Religion, Speech and Petition.<br />' +
'<input id="' + q + '.2" type="radio" name="fav" value="blues" />Right to bear arms.<br />' +
'<input id="' + q + '.3" type="radio" name="fav" value="rock" />Right to \"Life, liberty, and the pursuit of happiness.\"<br />' +
'<input id="' + q + '.4" type="radio" name="fav" value="pop" />All of the above.</form>';
,id
,'correct'
和'.2'
的{{1}}执行相同的操作。