5

私は Mustache.js を使用しており、ドロップダウン リストをレンダリングする次のテンプレートがあります。

<select name="{{listName}}">
    {{#items}}
    <option value="{{id}}">{{name}}</option>
    {{/items}}
</select>

render メソッドに渡す json オブジェクトは次のとおりです。

items:[
    0: {id:1, name:Actor}
    1: {id:2, name:Director}
    2: {id:3, name:Producer}
    3: {id:4, name:Executive Producer}
    4: {id:5, name:Assistant Producer}
    5: {id:6, name:Scriptwriter}]
listName: "occupation"

レンダリングを行う行は次のとおりです。

var html = Mustache.render(template, jsonData);

html 変数には以下が含まれます。

<select name>
</select>

レンダリングされるのは空のドロップダウン リストです。テンプレートと Json データを貼り付けると、Mustache のデモ ページに問題なく表示されます。何がうまくいかないのですか?

4

2 に答える 2

3

調査の結果、何が問題なのかがわかりました。変数 jsonData の型をログに記録すると、オブジェクトではなく文字列であることが判明しました。

だから私がしなければならなかったのは:

object = $.parseJSON(jsonData);
var html = Mustache.render(template, object);
于 2013-08-04T22:27:30.943 に答える