Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
168
rated 0 times [  172] [ 4]  / answers: 1 / hits: 18537  / 13 Years ago, fri, january 13, 2012, 12:00:00

I am trying to template the following array of objects:



var arr = [{name:Ryan Pays, url:http://www.ryanpays.com}, {name:foo, url:http://www.google.com}];


I convert that array to an object like so:



arr = $.extend({}, arr);


Which gives me the following object:



{
0:{name:Ryan Pays, url:http://www.ryanpays.com},
1:{name:foo, url:http://www.google.com}
}


Using Mustache i want to enumerate over that object with the following template:



var template = <h4>Your friends' choices</h4> +
<ul> +
<li> +
<p><strong>{{name}}</strong> likes <a href='{{url}}'>this</a></p> +
</li> +
</ul>;
var html = Mustache.to_html(template, displayData);
$('.choices').html(html);


I don't seem to be able to do that. I can get the first result like to print like so:



var html = Mustache.to_html(template, displayData[0]);


And so on but not both.



Link to fiddle of this issue:



http://jsfiddle.net/AtJDa/


More From » jquery

 Answers
8

You could use the template for arrays :



var template = <h4>Your friends' choices</h4> +
<ul> +
{{#arr}}+
<li> +
<p><strong>{{name}}</strong> likes <a href='{{url}}'>this</a></p> +
</li> +
{{/arr}}+
</ul>;
var html = Mustache.to_html(template, {arr:arr});

[#88033] Thursday, January 12, 2012, 13 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
zariahdiamondz

Total Points: 649
Total Questions: 109
Total Answers: 88

Location: Tajikistan
Member since Thu, Apr 14, 2022
2 Years ago
;