Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何根据eventlistener动态更改JavaScript文件的索引_Javascript_Jquery_Html_Arrays_Json - Fatal编程技术网

如何根据eventlistener动态更改JavaScript文件的索引

如何根据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

我使用以下代码获得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
        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++;
});