我有一些测验问题存储在JSON中,我使用AJAX调用,然后作为变量allQuestns stroing:
// Variable stores all quiz questions
var allQuestns;
// AJAX request to retrieve quiz questions from external JSON
$.ajax({
async: false,
type: 'GET',
url: 'https://api.myjson.com/bins/dqt3f',
data: { get_param: 'value' },
dataType: 'json',
success: function (data) {
allQuestns = data;
},
error: function () {
alert("Unable to locate the quiz questions. Try again soon and contact admin - quiz@palmerhinchliffe.net")
}
});
每个测验的问题都存储在JSON中,作为引用该测验的对象(qz1,qz2,qz3),每个测验都包含一系列问题,每个问题数组包含一个问题字符串,一组选择,以及正确的选择。
我想创建一个可以代替直接引用JSON中的测验对象的变量。所以而不是:
alert(allQuestns.qz2[2].question) //This retrieves the question text
//from the 3rd question of the 2nd
//quiz
我想使用变化的变量来引用测验编号,如下所示:
var quizCounter = "qz2";
alert(allQuestns.quizCounter[2].question);
使用quizCounter变量引用对象似乎不起作用。有没有办法做到这一点,或者我必须实际命名对象本身,而不是创建一个可以更改它的引用。
我希望能够使用quizCounter为每个测验显示正确的问题,而不是为每个测验分配单独的html div和JS函数
答案 0 :(得分:1)
通过[]
括号表示法访问,而不是.
点符号
var quizCounter = "qz2";
alert(allQuestns[quizCounter][2].question);
// ^-----------^