2012-08-28 43 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