2016-07-01 47 views
0

用於JSON數據的創建內聯函數,我有以下JSON數據:json2html - 在陣列W /多元素

{"orders":[ 
{"id":16,"status":"completed","total":"45.00"}, 
{"id":17,"status":"completed","total":"55.00"} 
]} 

我怎麼改變這個數據使用json2html到HTML嗎? ${orders.0.total}的作品,但我希望它改變所有的訂單,而不僅僅是陣列0

我試圖從this answer的解決方案,但它不會工作。

這是我有:

<body> 
    <ul id="list"></ul> 
</body> 

<script type="text/javascript"> 
    //List items 
    var myjson = [{"orders":[ 
       {"id":16,"status":"completed","total":"45.00"}, 
       {"id":17,"status":"completed","total":"55.00"} 
       ]}]; 

    //List item transform 
    var orderTransform = {"tag":"div","html":"${total}"} 

    var transform = {"tag":"div","children":function(){ 
     return(json2html.transform(this,orderTransform)); 
    }}; 

    $(function(){ 
     //Create the list 
     $('#list').json2html(myjson,transform); 
    }); 
</script> 

THX

回答

0

您的轉換應該被修改爲:

var transform = {"tag":"div","children":function(){ 
     return(json2html.transform(this.orders,orderTransform)); 
}}; 

thisthis.orders的變化,作爲根變換引用{orders: [...]}對象,因此在子函數中,需要指定用作數據的新數組。

原始代碼通過this作爲孩子的數據,這會使json2html嘗試使用orderTransform重新渲染{orders: [...]}對象,這是不正確的,所以相反,顯式指定該變換的數據在orders字段。