我需要一些专家来说明我如何实现这一目标。 我有这个html代码是多项选择(从A到E)问题的一部分
<div id="correct-answer-XXXXX" style="display:none;"></div>
<div id="wrong-answer-XXXXX" style="display:none;"></div>
我还有这个提交到远程URL的jquery ajax代码(我没有访问代码)并更改上面的div之一,将状态从显示'style'更改为'block'并隐藏换句话说,另一个,表明你的答案是对还是错。
var vector = new Array('A','B','C','D','E');
var i = 0;
function answerquestion(XXXXX,choice){
$.ajax({
type:"POST",
dataType:'jsonp',
data:{choice},
url:"http://myremoteurl.com/"+XXXXX,
beforeSend:function(){
},
complete:function(){
var style = $("#correct-answer-"+XXXXX).css("display");
if (style == "block") {
//ill do something with the correct answer
} else {
i++;
answerquestion(XXXXX,vector[i]);
}
}
})
}
该代码适用于一个问题,但我需要按顺序执行此功能,比如连续60到100次,当我得到第一个的答案时,运行第二个
我有一个div填充了包含数据XXXXX的字段,所以我可以使用这些字段在某种循环中获取XXXXX变量,例如:
<div id="fieldscontainer">
<input type="hidden" name="111111" value="111111">
<input type="hidden" name="222222" value="222222">
<input type="hidden" name="333333" value="333333">
...
<input type="hidden" name="XXXXXX" value="XXXXXX">
</div>
所以获得正确答案的唯一方法是使div的样式正确 - 答案 - XXXXX,但是一个简单的$ .each循环不会有帮助,因为functon本身必须运行几次才能找到正确的答案
图片说明了我想要实现的目标:
答案 0 :(得分:0)
使用
async : false
$.ajax({
type:"POST",
dataType:'jsonp',
async : false, /// add this line
希望这有帮助