[英]how to access array name in json2html, jquery
我有以下工作代碼:
var transforms = {
'renderTimeline':[ {
tag: "a",
class: "btn btn-warning btn-circle",
style: "float: right;",
html: "<i class=\"icon-remove\"></i>",
"onclick": function(e) {
delSchedule(e);
}}
}]
}
如果我傳遞以下json:
{ monday:[ { startTime:10:00, endTime: 12:00, room_id:cse124 }, { startTime:13:00, endTime: 15:00, room_id:lotus } ] }
我這樣調用轉換:
$('#someplace').json2html(data.monday, transforms.renderTimeline, {'events': true});
我希望能夠在函數delSchedule()中訪問“星期一”。 我該怎么做呢? 請幫忙。
那不是json。 它是本機Object
"onclick": function(e) {
var obj = {
monday: [{
startTime: 10: 00,
endTime: 12: 00,
room_id: cse124
}, {
startTime: 13: 00,
endTime: 15: 00,
room_id: lotus
}]
};
delSchedule(obj.monday); // pass it here
}
如果使用 JSON,則沒什么大不了的。 只需執行delSchedule(JSON.parse(jsonStr).monday)
我認為首先您需要使用jQuery.parseJSON()解析Json。 然后它將返回一個對象。
var jObject = jQuery.parseJSON(jsonData);
var monday = jObject.monday;
看看json2html.com,它描述了您在Attributes-> jquery-> Event Attributes中傳遞給delSchedule(e)的“ e”參數的可用屬性
並回答您的問題,您的delSchedule應該看起來像這樣
function delSchedule(e) {
console.log( e.obj );
}
e.obj將返回什么? 這取決於您要轉換的JSON對象。 例如
$('#someplace').json2html(data, transforms.renderTimeline);
將創建一個元素,
e.obj === { monday:[ { startTime:10:00, endTime: 12:00, room_id:cse124 }, { startTime:13:00, endTime: 15:00, room_id:lotus } ] }
與
$('#someplace').json2html(data.monday, transforms.renderTimeline);
將創建兩個元素,每個元素將具有
e.obj === { startTime:10:00, endTime: 12:00, room_id:cse124 }
e.obj === { startTime:13:00, endTime: 15:00, room_id:lotus }
僅供參考,您要進行的轉換不需要events:true選項..僅當您直接使用json2html.transform函數時
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.