如何根据eventlistener动态更改JavaScript文件的索引
我使用以下代码获得json文件的答案和问题:如何根据eventlistener动态更改JavaScript文件的索引,javascript,jquery,html,arrays,json,Javascript,Jquery,Html,Arrays,Json,我使用以下代码获得json文件的答案和问题: $(document).ready(function () { $.getJSON("data.json", function (json) { var anserFor1st = json.questions[0].answers; var anserFor2nd = json.questions[1].answers; //If it's more than two use a loop d
$(document).ready(function () {
$.getJSON("data.json", function (json) {
var anserFor1st = json.questions[0].answers;
var anserFor2nd = json.questions[1].answers; //If it's more than two use a loop
document.getElementById("content").innerHTML = JSON.stringify(anserFor1st) + "<br/>" + JSON.stringify(anserFor2nd);
var aString = "";
Object.keys(anserFor1st).forEach(function (k) {
aString += anserFor1st[k] + "<br/>";
});
Object.keys(anserFor2nd).forEach(function (k) {
aString += anserFor2nd[k] + "<br/>";
});
document.getElementById("content").innerHTML = aString;
});
});
我必须根据事件侦听器将索引更改为单击html文件中的“下一步”和“前进”按钮
如何动态更改索引 我想你是说你想要这个:
$(document).ready(function () {
$.getJSON("data.json", function (json) {
var answers = [];
var aString = "";
for (var i = 0; i < json.questions.length; i++)
{
answers[i] = json.questions[i].answers;
document.getElementById("content").innerHTML += JSON.stringify(answers[i]) + "<br/>";
for (var j = 0; j < answers[i].length; j++)
{
aString += answers[i][j] + "<br/>";
}
}
document.getElementById("content").innerHTML = aString;
});
});
当然,您可以检查最小/最大问题数(例如,您的最大问题数可以等于上面循环中
i
的最后一个值)。我必须将按钮的脚本放在哪里?@Sara任意位置,只要在脚本执行时按钮已加载到DOM中。我将制作一个JSFiddle来演示。你能发布一个JSON字符串示例吗?@Sara抱歉,花了一段时间,首先我犯了一个愚蠢的错误,我不得不追查(错误地编写了我的JSON手册),然后整个互联网连接中断了。但是这里是正在工作的JSFIDLE:这个例子与我所问的不匹配。问题的内容应该改变。例如,显示第一个问题1。只有在我按下下一个按钮后,才会显示问题2。以下是json的示例:{“问题”:[{“问题1”:“3+1等于多少”,“正确答案”:1,“答案”:{“问题1”:“5”,“问题2”:“4”,“问题3”:“3”},{“问题5”:“2+4等于多少”,“正确答案”:0,“答案”:{“ans#1”:“6”,“ans#2”:“4”,“ans#3”:“7”,“ans#4”:“5”}
$(document).ready(function () {
$.getJSON("data.json", function (json) {
var answers = [];
var aString = "";
for (var i = 0; i < json.questions.length; i++)
{
answers[i] = json.questions[i].answers;
document.getElementById("content").innerHTML += JSON.stringify(answers[i]) + "<br/>";
for (var j = 0; j < answers[i].length; j++)
{
aString += answers[i][j] + "<br/>";
}
}
document.getElementById("content").innerHTML = aString;
});
});
$("#buttonPrevious").on("click", function (e)
{
currentQuestion--;
});
$("#buttonNext").on("click", function (e)
{
currentQuestion++;
});