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);

}

この構造は、これらの過去の回答 ( herehere、およびhere ) に基づいていますが、機能しないようです。誰でも助けることができますか?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 に答える