gpt4 book ai didi

javascript - document.getElementById.innerHTML= 单选按钮?

转载 作者:行者123 更新时间:2023-11-28 08:32:42 26 4
gpt4 key购买 nike

我正在用 JavaScript 进行测验,从 20 个问题的列表中随机选择 10 个问题。我的代码显示:

if (question==1){
document.getElementById(q).innerHTML="Question 1"
}

我的问题是我的期末测验不会说“问题 1”。我希望它编写单选按钮以进行多项选择。如何用单选按钮替换“问题 1”?

此外,我不希望我的代码多次提出相同的问题。示例:所以他们不会两次回答问题 4。这是我的完整代码:

<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;
}
}

这样,您仍然可以更改放入每个特定问题 div 中的 html。

关于javascript - document.getElementById.innerHTML= 单选按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21650017/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com