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

前端之家收集整理的这篇文章主要介绍了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>

编辑

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

猜你在找的jQuery相关文章