2012-08-28 64 views
1

如何使用包含空格字符的鍵名稱「Field ID」來引用列/字段名稱?還有「dtTime」,顯示爲NaN。jsRender,帶空格的json列名稱

<script id="jsRendTmp" type="text/x-jquery-tmpl"> 
    <li>{{:#Field ID}}</li> 
    <li>{{:#dtTime}}</li> 

//這是這樣做(感謝名單鮑里斯)的有道

<li>{{:#data['Field ID']}}</li> 
<li>{{:#data['dtTime']}}</li> 

</script> 

這裏的數據:

TESTDATA: { 「字段標識」: 「22」, dtTime:「8/1/2021」 }, { 「Field ID」: 「33」, dtTime: 「2021年8月2日」 } ]

回答

3

你可以得到這樣的值:

{{:#data['Field ID']}}

如果您還想要檢測密鑰名稱並將其呈現,請查看此示例: 03_iterating-through-fields-scenario - 代碼here

+0

這就是我需要的!我即將發佈在您的博客上。謝謝鮑里斯。並再次感謝你提供最好的渲染庫! – pyccki

0

你可以用一個輔助做到這一點:http://jsfiddle.net/imsky/B8ks2/

<script id="jsRendTmp" type="text/x-jquery-tmpl"> 
    <div style="margin:10px 0">Title</div> 
    {{for ~getFields()}} 
    <li>{{>key}}: {{>value}}</li> 
    {{/for}} 
</script> 

var data = [ { "Field ID": "22", dtTime: "8/1/2021" }, { "Field ID": "33", dtTime: "8/2/2021" } ]; 

    $.views.helpers({ 
     getFields: function(object) { 
      var object = this.data; 
      var key, value, 
       fieldsArray = []; 
      for (key in object) { 
       if (object.hasOwnProperty(key)) { 
        value = object[ key ]; 
        // For each property/field add an object to the array, with key and value 
        fieldsArray.push({ 
         key: key, 
         value: value 
        }); 
       } 
      } 
      // Return the array, to be rendered using {{for ~fields(object)}} 
      return fieldsArray; 
     } 
    }); 

$("#content").html($("#jsRendTmp").render(data)); 
+0

看起來不錯,但有點矯枉過正。我正在尋找簡單的東西:)我想我只是改變後端,以帶來「有效」的名字。 – pyccki