Boa*_*och 0 javascript jquery input radio-button
我做了一个小测验,但我在单击下一步按钮时遇到了最后一个问题,它会检查该值是否未找到。如果它是真的,它会检查客户选择的收音机是否等于配偶的正确答案,然后 var correctAnswer 获得 +1。问题在于,在第一个问题中它起作用(检查客户是否真的从答案中选择了一些内容并检查其是否正确)但是当提出下一个问题时它不起作用。我试图弄明白,但没有sulotion来......还要检查的jsfiddle:http://jsfiddle.net/boazmier/ru8Qj/1/ 我试图把checkClientChoice功能到loadquestion功能它没有工作,以及
var allQuestions = {
question: {
question0: {
question: "Who is the first Prime Minister of Israel?",
choices: ["David", "Rabin", "Peres", "Bibi"],
correct: "David"
},
question1: {
question: "What Is israel date of birth?",
choices: ["1948", "1958", "1950", "1944"],
correct: "1948"
},
question2: {
question: "What is PhoneGap framework for?",
choices: ["apache", "apps", "server", "client"],
correct: "apps"
}
},
correctAnswer: 0
};
var allquestion = allQuestions["question"];
var calcAnswers =allQuestions["correctAnswer"];
var qNum = 0;
var value;
//function that deploies the question and the choices to the section.
function loadquestions(qNum){
$(".question").text(allquestion["question"+qNum]["question"]); //set the the question to the title
for(var i=0;i<allquestion["question"+qNum]["choices"].length;){
//loops throughout the li's
var cH =(allquestion["question"+qNum]["choices"][i]); // a var that holds text of choice in poistion i
$("label[for=li"+i+"]").text(cH); //define for every label its text
$("#li"+i).attr("value",cH); //define for every input radio its value which is equals to label which is equals to var cH
i++;//count i with +1
}
}
//function that fires when clicked the "next" button and when trigered hides the current question and presents the next one
function checkClientChoice(){
$("#next").click(function(){
value = $("input[type='radio']:checked").val();
if(value == undefined){
alert("Please choose a valid answer");
}
else {
if(allquestion["question0"]["correct"] == value){
alert("correct");
calcAnswers++;
alert(calcAnswers);
qNum++;
loadquestions(qNum);
}
else{
qNum++;
loadquestions(qNum);
}
}
});
};
$(document).ready(function(){
loadquestions(qNum);
checkClientChoice();
});
Run Code Online (Sandbox Code Playgroud)
好的,这是我们得到的:
if(allquestion["question0"]["correct"] == value)
Run Code Online (Sandbox Code Playgroud)
你总是检查第一个问题的答案。你应该把它改成
if(allquestion["question" + qNum]["correct"] == value)
Run Code Online (Sandbox Code Playgroud)
或者以checkClientChoice其他方式跟踪功能中的问题编号。
| 归档时间: |
|
| 查看次数: |
73 次 |
| 最近记录: |