我在使用ICanHaz.js / Mustache进行迭代时遇到了一个问题。我想循环遍历JSON结构的根并提取一个特定的参数。这是我的JSON:
{
"1": {
"param1": "true",
"param2": "false",
"param3": "false",
"targetMe": "ADMINUSERS"
},
"2": {
"param1": "true",
"param2": "false",
"param3": "false",
"targetMe": "ADMINUSERS"
},
"3": {
"param1": "true",
"param2": "false",
"param3": "false",
"targetMe": "ADMINUSERS"
}
}这是我的ICanHaz模板:
<script id="groupselect_template" type="text/html">
{{ /. }}
<option value="{{name}}">{{name}}</option>
{{ /. }}
</script>下面是我的JS:
var iterationFunc = function(data) {
var temp = ich.groupselect_template(data);
$('#selectdiv').append(temp);}
我基于这些过去的答案(here,here和here)建立了这个结构,但我似乎无法让它工作。有人能帮上忙吗?因为ICH里面有胡子,我知道一个更广泛的基于胡子的解决方案可以工作。
发布于 2013-02-13 23:25:15
我认为你不能在moustache中轻松地循环对象属性。但是您可以通过数组完成此操作,因此如果可以,请将JSON改为如下所示
[{
"param1": "true",
"param2": "false",
"param3": "false",
"targetMe": "ADMINUSERS"
},{
"param1": "true",
"param2": "false",
"param3": "false",
"targetMe": "ADMINUSERS"
},{
"param1": "true",
"param2": "false",
"param3": "false",
"targetMe": "ADMINUSERS"
}]或者在将数据应用到模板之前,遍历它并将其更改为数组,例如使用jQuery
var dataArray = [];
$.each(data, function(key, item){
dataArray.push(item);
});Here's一个工作的小提琴
https://stackoverflow.com/questions/14856045
复制相似问题