1

テンプレートのレンダリングに問題があります。データは次のようになります。

var data = {"addresses":
                [{"Title":null,
                  "Name":null,
                  "Address1":"Add 1.1",
                  "Address2":"Add = 2.1",
                  "Town":"Town1",
                  "County":"County 1",
                  "Country":"United Kingdom",
                  "Postcode":"CV10 1RH",
                  "CountryId":229},
                 {"Title":null,
                  "Name":null,
                  "Address1":"Add 1.2",
                  "Address2":"Add = 2.2",
                  "Town":"Town2",
                  "County":"Count 2",
                  "Country":"United Kingdom",
                  "Postcode":"CV10 2RH",
                  "CountryId":229}
                 ]};

そして、私のテンプレートはjavascriptに保存され、次のようにレンダリングされます:

var defaultAdressSelectorTemplate = '<label for="addressSelector">Select Adress:</label><select id="addressSelector" name="addressSelector">{{#each addresses}}<option>{{>Address1}}</option>{{#/each}}</select>';          

$.templates({ addressTemplate: defaultAdressSelectorTemplate });

html = $.render.addressTemplate( data );

私が抱えている問題は、{{>Address1}}常に空になることです。私は何を間違っていますか?

4

2 に答える 2

1

使用したい最新の JSRender を使用する{{for}}

var defaultAdressSelectorTemplate = '<label for="addressSelector">Select Adress:</label><select id="addressSelector" name="addressSelector">{{for addresses}}<option>{{>Address1}}</option>{{/for}}</select>';

jsfiddle の例

于 2012-06-18T12:08:44.250 に答える
0

テンプレートをレンダリングする前に jQuery.parseJSON() メソッドを使用してみてください

var renderedTemplate = $("#templateId").render($.parseJSON(data));
$("#dataGridId").html(renderedTemplate);
于 2013-03-18T07:44:20.040 に答える