所以我有这个已成功传递给 JS 的 JSON 结构:
{
"StepOne": [
{
"id": "2",
"type": "1",
"description": "How are you feeling?",
"options": [
{
"opt_id": "1",
"opt_desc": "Good"
},
{
"opt_id": "2",
"opt_desc": "Perfect"
},
.... etc
它一直持续到 PageFive,每个步骤的问题数量从 1 到 4 个不等,每个问题的选项从 null 到大约 10 个不等。我想使用这些信息在 Javascript 中生成多步骤表单,但我不知道如何访问内部数据。我只能找到“PageOne”、“PageTwo”等。我正在使用以下代码来做到这一点:
$(document).ready(function()
{
$('#show-results').click(function()
{
$.post('json.php', function(data)
{
var pushedData = jQuery.parseJSON(data);
$.each(pushedData, function(i, serverData)
{
alert(i);
})
})
})
});
现在我尝试了这些函数来获取内部值:
var desc = pushedData.PageOne.description;
var desc = pushedData['PageOne']['Description'];
在每个循环中,我尝试过类似的东西
var desc = PageOne.description;
var desc = PageOne['description'];
这一切都是未定义的。有没有办法像我遍历页面一样遍历每个页面中的每个问题?然后从那里冲洗并重复以迭代每个问题的选项?如果我可以访问每个级别,我应该准备好动态生成民意调查,这是这里的最终目标。
我认为这段代码有什么用(在我发布后立即发现)。虽然不太好用。
$(document).ready(function()
{
$('#show-results').click(function()
{
$.post('JSAAN.php', function(data)
{
var pushedData = jQuery.parseJSON(data);
$.each(pushedData, function(i, stepData)
{
$.each(stepData, function(j, questionData)
{
// Print question here
$.each(questionData, function(k, optionData)
{
// Print option here
})
})
})
})
})
});