使用参数动态引用json对象
Dynamically reference json object using parameters
我得到了:
Uncaught TypeError: Cannot read property '0' of undefined
尝试使用参数动态引用javascript对象时。虽然当我尝试传递单个参数virtual_page_no
时,它正在工作,但它在传递2个参数时开始给出错误。
// Json list
var patients = {
"patient_1": [
{
"page_no": "3",
"quest_response_headline": "Question1",
"quest_response": "Response1",
"quest_next_link": "View Answer"
},
{
"page_no": "4",
"quest_response_headline": "Question2",
"quest_response": "Response2",
"quest_next_link": "Next Question >"
}
]
}
var current_virtual_page = 0;
var next_virtual_page = current_virtual_page + 1;
function quest_response_text(i, virtual_page_no) {
var quest_response_headline = patients.patient_i[virtual_page_no].quest_response_headline;
var quest_response = patients.patient_i[virtual_page_no].quest_response;
var quest_next_link = patients.patient_i[virtual_page_no].quest_next_link;
$('.quest-response-headline').text(quest_response_headline);
$('.quest-response').text(quest_response);
$('.quest-next-link').text(quest_next_link);
}
// init
quest_response_text(1, current_virtual_page);
// When user click on view answer or next question link
$('.quest-next-link').on('click', function () {
quest_response_text(next_virtual_page);
});
如果您想使用i
变量动态访问patients.patient_1
,请尝试使用:
patients['patient_' + i]
所以它应该看起来像:
var quest_response_headline = patients['patient_' + i][virtual_page_no].quest_response_headline;
相关文章:
- jQuery匹配JSON对象的部分文本
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 如何为json对象中的段发送array[]
- 将JSON对象传递给angular指令
- 更改JSON对象的结构
- 访问JSON对象内部的数组元素
- 在ejs-partial中对JSON对象进行迭代
- 遍历 JSON 对象并检查 URL 是否以某个值结尾
- 访问嵌套JSON对象的键,其中键是动态的
- json对象中缺少对象循环
- 发送json对象或使用express路由呈现视图
- 在play2框架中向json对象添加下拉列表项
- 元素名称上带有短划线 (-) 字符的 Json 对象
- autocomplete不接受源的json对象
- 如何在javascript中创建动态json对象
- 在使用客户端脚本时拾取JSON对象
- 如何通过json对象数组为嵌套对象赋值
- 构造JSON对象