gpt4 book ai didi

jquery - 使用 jQuery 要求选择单选按钮

转载 作者:行者123 更新时间:2023-12-01 04:03:55 25 4
gpt4 key购买 nike

有没有办法使用 jQuery 来选择数组的某些值所需的单选按钮?有人可以帮助我或为我指明正确的方向吗? :)

情况:我正在构建一个游戏,其中问题根据数组更改值。有 4 个单选按钮,如果数组介于值 1 和 5 之间(例如),但不选择任何其他值,我希望最终用户选择其中之一。

编辑第 1 部分:想要使用 jQuery 来选择所需的单选按钮,因为单选按钮实际上出现在整个页面中,而不管数组值如何,但我会隐藏它们,除非数组的值为 1 到仅 5,所以我想这就是我必须使用 jQuery 的原因。

编辑第 2 部分:这是我到目前为止所尝试过的: /我希望最终用户需要输入一个值才能 进入下一个问题/

var reqChoice = $('answerChoice');
reqChoice[0].required = true;
reqChoice[1].required = true;
reqChoice[2].required = true;
reqChoice[3].required = true;

我添加了注释,因为它不起作用,所以我把它留在我的程序中,作为将来记笔记的一种方式。

<body>
<section class="headingIntroduction">
<div class="headingTitle">
<h2>Welcome to the Halloween Quiz Game!</h2>
<hr/>
<!--The paragraph tag directly below this
is left blank because when the game starts, I want
it to be blank. I only want it to have content on one
particular part of the program only.
-->
<p></p>
<hr/>
</div>
<div class="formInput">
<form>
<input type="radio" id="answerChoice0" name="answerChoice" value="answerChoice0"/><span></span>
<input type="radio" id="answerChoice1" name="answerChoice" value="answerChoice1"/><span></span>
<input type="radio" id="answerChoice2" name="answerChoice" value="answerChoice2"/><span></span>
<input type="radio" id="answerChoice3" name="answerChoice" value="answerChoice3"/><span></span>
<hr/>
</form>
</div>
<div class="submitButton">
<input type="submit" id="submitButton" value="Click Here to Begin!"/>
<br/>
</div>
<div class="userScore">
<h3>Score: 0 </h3>
</div>
</section>
<script src="http://code.jquery.com/jquery.min.js"></script>
<script src="js/script.js"></script>
</body>

jQuery:

$(document).ready(function(){

/*
When the page loads, I only want the welcome page to show. I want
everything else to be hidden. Also want answer choices to remain hidden.
*/

$('form').hide();
$('h3').show();


var gameBegin = [
{/*Instructions Page*/
question: 'Welcome to the Game Instructions Page!',
instructions:' You will be presented with several questions. Below each question are a set of answers. Select the answer that you think is correct and then click the "Submit" button to see if your answer is correct. At the end of the game, you will see your final score to let you know how you did.Choose carefully! Once you move onto the next question, you cannot go back!',
choice: '',
correctAnswer: '',
buttonValue: 'Start Game!'
},
{/*question One*/
question: 'What Film Series is Freddy Krueger From?',
instructions: 'Question 1 out of 5',
choice: ['A Nightmare on Elm Street', 'Simpsons Treehouse of Horror', '28 Days Later', 'The Texas Chainsaw Massacre'],
correctAnswer: 0,
buttonValue: 'Submit Answer'
},
{/*Question Two*/
question: 'Which Terrifying Villian Uses a Chainsaw to Murder His Victims?',
instructions: 'Question 2 out of 5',
choice: ['Jason Voorhees', 'Dracula', 'Frankenstein', 'Leatherface'],
correctAnswer: 3,
buttonValue: 'Submit Answer'
},
{/*Question Three*/
question: 'What is the Occupation of Sweeney Todd?',
instructions: 'Question 3 out of 5',
choice: ['Teacher', 'Priest', 'Barber', 'Doctor'],
correctAnswer: 2,
buttonValue: 'Submit Answer'
},
{/*Question Four*/
question: 'Who are the villians in the 1993 film "Hocus Pocus?"',
instructions: 'Question 4 out of 5',
choice: ['The Sanderson Sisters', 'Vlad the Impaler', 'Jigsaw', 'The Blair Witch'],
correctAnswer: 0,
buttonValue: 'Submit Answer'
},
{/*Question Five*/
question: 'Which Serial Killer is Leatherface Based On?',
instructions: 'Question 5 out of 5',
choice: ['Ted Bundy', 'Ed Gein', 'Charles Manson', 'Jack the Ripper'],
correctAnswer: 1,
buttonValue: 'Submit Answer'
},
{/*Game Finished Screen*/
question: 'Congratulations! You Finished The Halloween Quiz Game!',
instructions: 'To play again, click the button below.',
choice: '',
correctAnswer: '',
buttonValue: 'Start New Game'
}
]

/*global variables*/

var gameBeginValue = 0;
var gameScore = 0;

/*Updating the current score*/
var gameScoreLabel = $('h3');




/*Moving from Page to Page When Clicking Submit Button*/

$('#submitButton').on('click',function(){



/*I want the gameBeginValue to reset back to 0 to start a new game
There is no need to reshow the welcome page again. I also want
the radio buttons to only appear if the user is looking at a
question. I am also resetting the score back to 0 because
a new game is started. */

if(gameBeginValue > 6){
gameBeginValue = 0;
gameScore = 0;
gameScoreLabel[0].textContent = 'Score: ' + gameScore;
} else if ((gameBeginValue < 1) || (gameBeginValue > 5)) {
$('form').hide();
}else{
$('form').show();
}


/*Heading at top of Page*/
var questionTitle = $('h2');
questionTitle[0].textContent = gameBegin[gameBeginValue].question;

/*The information section for playing the game*/
var gameInformation = $('p');
gameInformation[0].textContent = gameBegin[gameBeginValue].instructions;

/*Changing the values of the input choices based on question.*/
var questionChoice =$('span');
questionChoice[0].textContent = gameBegin[gameBeginValue].choice[0];
questionChoice[1].textContent = gameBegin[gameBeginValue].choice[1];
questionChoice[2].textContent = gameBegin[gameBeginValue].choice[2];
questionChoice[3].textContent = gameBegin[gameBeginValue].choice[3];

/*Changing the value of the submit button based on what screen you are on */
var buttonDescription = $("#submitButton");
buttonDescription[0].value = gameBegin[gameBeginValue].buttonValue;

/*This is what I am using to choose which question is correct based
on what radio button the user selects. */
if (gameBeginValue==1){
question1();
}else if (gameBeginValue==2){
question2();
}else if (gameBeginValue==3){
question3();
}else if (gameBeginValue==4){
question4();
}else if (gameBeginValue==5){
question5();
}

/*I want the user to have to enter in a radio button before going to next screen*/

/*var reqChoice0 = $('#answerChoice0');
var reqChoice1 = $('#answerChoice1');
var reqChoice2 = $('#answerChoice2');
var reqChoice3 = $('#answerChoice3');*/

if ((gameBeginValue > 0) && (gameBeginValue < 6)) {
$('form').validate({
rules:{
answerChoice0:{
required: true
},
answerChoice1:{
required: true
},
answerChoice2:{
required: true
},
answerChoice3:{
required: true
}
}
})
}

/*$('form').validate({
rules:{
if ((gameBeginValue > 0) && (gameBeginValue < 6)) {
if ((reqChoice0.is('checked', false)) || (reqChoice1.is('checked',false)) || (reqChoice2.is('checked',false)) || (reqChoice3.is('checked',false))) {
alert('select an answer please');
}
}
}
})*/


/*I want the gameBeginValue variable to increase everytime this button is clicked
But I want it to Happen Last.*/
$("input[type=radio]").attr('disabled', false);

gameBeginValue++;

/*I want the radio buttons to all be unchecked at the start of the
next question*/
$('#answerChoice0').prop('checked',false);
$('#answerChoice1').prop('checked',false);
$('#answerChoice2').prop('checked',false);
$('#answerChoice3').prop('checked',false);


})

/*Updates the end users score and tells them if they are correct or not*/
/*Question 1*/
function question1(){
$('#answerChoice0').off('click').on('click',function(){
alert('Correct!');
gameScore = gameScore + 1;
gameScoreLabel[0].textContent = "Score: " + gameScore;
$("input[type=radio]").attr('disabled', true);
})
$('#answerChoice1').off('click').on('click',function(){
alert('Wrong!');
$("input[type=radio]").attr('disabled', true);
})
$('#answerChoice2').off('click').on('click',function(){
alert('Wrong!');
$("input[type=radio]").attr('disabled', true);
})
$('#answerChoice3').off('click').on('click',function(){
alert('Wrong!');
$("input[type=radio]").attr('disabled', true);

})
}
/*Various functions are called based on which question
the user is on*/

/*Question 2*/
function question2(){
$('#answerChoice0').off('click').on('click',function(){
alert('Wrong!');
$("input[type=radio]").attr('disabled', true);
})
$('#answerChoice1').off('click').on('click',function(){
alert('Wrong!');
$("input[type=radio]").attr('disabled', true);
})
$('#answerChoice2').off('click').on('click',function(){
alert('Wrong!');
$("input[type=radio]").attr('disabled', true);
})
$('#answerChoice3').off('click').on('click',function(){
alert('Correct!');
gameScore = gameScore + 1;
gameScoreLabel[0].textContent = "Score: " + gameScore;
$("input[type=radio]").attr('disabled', true);

})
}
/*Question 3*/
function question3(){
$('#answerChoice0').off('click').on('click',function(){
alert('Wrong!');
$("input[type=radio]").attr('disabled', true);
})
$('#answerChoice1').off('click').on('click',function(){
alert('Wrong!');
$("input[type=radio]").attr('disabled', true);
})
$('#answerChoice2').off('click').on('click',function(){
alert('Correct!');
gameScore = gameScore + 1;
gameScoreLabel[0].textContent = "Score: " + gameScore;
$("input[type=radio]").attr('disabled', true);
})
$('#answerChoice3').off('click').on('click',function(){
alert('Wrong!');
$("input[type=radio]").attr('disabled', true);

})
}
/*Question 4*/
function question4(){
$('#answerChoice0').off('click').on('click',function(){
alert('Correct!');
gameScore = gameScore + 1;
gameScoreLabel[0].textContent = "Score: " + gameScore;
$("input[type=radio]").attr('disabled', true);
})
$('#answerChoice1').off('click').on('click',function(){
alert('Wrong!');
$("input[type=radio]").attr('disabled', true);
})
$('#answerChoice2').off('click').on('click',function(){
alert('Wrong!');
$("input[type=radio]").attr('disabled', true);
})
$('#answerChoice3').off('click').on('click',function(){
alert('Wrong!');
$("input[type=radio]").attr('disabled', true);

})
}

/*Question 5*/

function question5(){
$('#answerChoice0').off('click').on('click',function(){
alert('Wrong!');
$("input[type=radio]").attr('disabled', true);
})
$('#answerChoice1').off('click').on('click',function(){
alert('Correct!');
gameScore = gameScore + 1;
gameScoreLabel[0].textContent = "Score: " + gameScore;
$("input[type=radio]").attr('disabled', true);
})
$('#answerChoice2').off('click').on('click',function(){
alert('Wrong!');
$("input[type=radio]").attr('disabled', true);
})
$('#answerChoice3').off('click').on('click',function(){
alert('Wrong!');
$("input[type=radio]").attr('disabled', true);

})
}


})

最佳答案

我猜您想要 jQuery 验证插件。 http://jqueryvalidation.org/required-method/看看该页面上的示例,我想您会找到您正在寻找的内容,特别是标记为“仅当年龄低于 13 岁时才需要‘ parent ’”的示例。

关于jquery - 使用 jQuery 要求选择单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33716051/

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