Javascript document.getElementById.innerHTML=单选按钮?
我正在用JavaScript做一个测验,从20个问题中随机选择10个问题。我的密码是:Javascript document.getElementById.innerHTML=单选按钮?,javascript,Javascript,我正在用JavaScript做一个测验,从20个问题中随机选择10个问题。我的密码是: if (question==1){ document.getElementById(q).innerHTML="Question 1" } 我的问题是,我的期末测验不会回答问题1。我想让它写一个单选按钮。如何用单选按钮替换问题1 此外,我不希望我的代码多次拉同一个问题。所以他们不会回答第四个问题两次。这是我的全部代码: <body> <input type="button"
if (question==1){
document.getElementById(q).innerHTML="Question 1"
}
我的问题是,我的期末测验不会回答问题1。我想让它写一个单选按钮。如何用单选按钮替换问题1
此外,我不希望我的代码多次拉同一个问题。所以他们不会回答第四个问题两次。这是我的全部代码:
<body>
<input type="button" value="Start!" onclick="choosequestions()"/><br><br>
<div id="1"></div><br>
<div id="2"></div><br>
<div id="3"></div><br>
<div id="4"></div><br>
<div id="5"></div><br>
<div id="6"></div><br>
<div id="7"></div><br>
<div id="8"></div><br>
<div id="9"></div><br>
<div id="10"></div><br>
<body>
<script>
function choosequestions(){
for(q=1;q < 11;q++){
var question=Math.floor((Math.random()*20)+1)
if (question==1){
document.getElementById(q).innerHTML="Question 1"
}else if (question==2){
document.getElementById(q).innerHTML="Question 2"
}else if (question==3){
document.getElementById(q).innerHTML="Question 3"
}else if (question==4){
document.getElementById(q).innerHTML="Question 4"
}else if (question==5){
document.getElementById(q).innerHTML="Question 5"
}else if (question==6){
document.getElementById(q).innerHTML="Question 6"
}else if (question==7){
document.getElementById(q).innerHTML="Question 7"
}else if (question==8){
document.getElementById(q).innerHTML="Question 8"
}else if (question==9){
document.getElementById(q).innerHTML="Question 9"
}else if (question==10){
document.getElementById(q).innerHTML="Question 10"
}else if (question==11){
document.getElementById(q).innerHTML="Question 11"
}else if (question==12){
document.getElementById(q).innerHTML="Question 12"
}else if (question==13){
document.getElementById(q).innerHTML="Question 13"
}else if (question==14){
document.getElementById(q).innerHTML="Question 14"
}else if (question==15){
document.getElementById(q).innerHTML="Question 15"
}else if (question==16){
document.getElementById(q).innerHTML="Question 16"
}else if (question==17){
document.getElementById(q).innerHTML="Question 17"
}else if (question==18){
document.getElementById(q).innerHTML="Question 18"
}else if (question==19){
document.getElementById(q).innerHTML="Question 19"
}else if (question==20){
document.getElementById(q).innerHTML="Question 20"
}
}
}
</script>
首先,您可以将功能简化为:
function choosequestions(){
for(q=1; q < 11; q++){
var question=Math.floor((Math.random()*20)+1);
document.getElementById(q).innerHTML = 'Question ' + question;
}
}
其次,要确保同一个问题不会被多次选中,请执行以下操作:
function choosequestions(){
var qList = [];
for(q=1; q < 11; q++){
var question = Math.floor((Math.random()*20)+1);
// Check to make sure Question # 'question' has not been added already:
while (qList.indexOf(question) !== -1) {
question = Math.floor((Math.random()*20)+1);
}
qList.push(question);
document.getElementById(q).innerHTML = 'Question ' + question;
}
}
如果你不理解这个函数,请告诉我,我可以解释
最后,要使文本进入单选按钮,并使用上述功能,请更改为:
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);
// Create radio button within each div element:
document.getElementById(q).innerHTML = '<input type="radio" name="question" value="' + q + '">Question ' + question;
}
}
希望这是有帮助的
编辑:根据你的评论,我相信这就是你想要的:
function choosequestions(){
var qList = [];
for(q=1; q < 11; q++){
var question = Math.floor((Math.random()*20)+1);
var message = '';
while (qList.indexOf(question) !== -1) {
question = Math.floor((Math.random()*20)+1);
}
qList.push(question);
// Create radio button within each div element:
if (question==1){
message = "Question 1";
}else if (question==2){
message = "Question 2";
}
...
// Lots of other 'else if' statements
...
}else if (question==20){
message = "Question 20";
}
document.getElementById(q).innerHTML = message;
}
}
这样,您仍然可以更改每个特定问题部分的html。请做一个JSFiddle并让我知道……这就是@FranciscoCorrales所说的:暴君暴龙,我希望您能给出任何解释。我只有14岁,最近开始自学JavaScript,所以我还不知道很多。Groovy,具体是哪一部分?顺便说一句,这是学习JS的好资源。我不理解你的第二段代码。谢谢你的链接,我相信我会学到很多!我不认为我可以压缩这个函数,因为我的最终代码是这样的:否则如果问题==18{document.getElementByIdq.innerHTML='Country Blues Rock Pop'},那么我还需要使用JS检查答案。