jquery – Mustache.js – 显示键而不是值

我在这里使用这些数据: http://pastie.org/3231052 – 如何使用Mustache或Handlebars显示键而不是值?
[{"interval":"2012-01-21","advertiser":"Advertisers 1","offer":"Life Insurance","cost_type":"CPA","revenue_type":"CPA",... etc ...
}]

解决方法

如果要显示键值对,可以在Handlebars中编写助手.
Handlebars.registerHelper('eachkeys',function(context,options) {
  var fn = options.fn,inverse = options.inverse;
  var ret = "";

  var empty = true;
  for (key in context) { empty = false; break; }

  if (!empty) {
    for (key in context) {
        ret = ret + fn({ 'key': key,'value': context[key]});
    }
  } else {
    ret = inverse(this);
  }
  return ret;
});

$(function() {
    var data = {"interval":"2012-01-21","revenue_type":"CPA"};
                
    var source   = $("#template").html();
    var template = Handlebars.compile(source);
    $('#content').html(template({'data': data}));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.0.0.beta2/handlebars.min.js"></script>
<script id="template" type="text/x-handlebars-template">
    {{#eachkeys data}}
    <li>{{this.key}} - {{this.value}}</li>
    {{/eachkeys}}
</script>
<div id="content">
</div>

编辑

看起来这不是你想要的,但是有可能找到一个可以解决问题的助手.

相关文章

1.第一步 设置响应头 header(&#39;Access-Control-Allow...
$.inArray()方法介绍 $.inArray()函数用于在数组中搜索指定的...
jquery.serializejson.min.js的妙用 关于这个jquery.seriali...
JS 将form表单数据快速转化为object对象(json对象) jaymou...
jQuery插件之jquery.spinner数字智能增减插件 参考地址:http...