0

我在使用 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);

}

我根据这些过去的答案(hereherehere)建立了这个结构,但我似乎无法让它发挥作用。任何人都可以帮忙吗?由于 ICH 里面有胡须,我知道更广泛的基于胡须的解决方案可以工作。

4

1 回答 1

0

我认为你不能在小胡子中轻松地遍历对象属性。但是你可以通过数组来做到这一点,所以如果可以的话,将你的 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);
});

这是一个工作小提琴

于 2013-02-13T15:25:15.323 回答