簡體   English   中英

如何在json2html,jquery中訪問數組名稱

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM