我有一些带有Handlebars模板的HTML / table数据:
<div class="users">
<script id="userlist" type="text/x-handlebars-template">
<table class="table table-striped table-hover table-condensed">
<thead>
<th>Username</th>
<th>Real Name</th>
<th>Email</th>
</thead>
<tbody>
{{#each this}}
<tr>
<td>{{name}}</td>
<td>{{email}} {{lastName}}</td>
<td>{{time}}</td>
</tr>
{{/each}}
</tbody>
</table>
</script>
</div>
我想找到最优雅/优化的方式来有条件地识别表行,以便根据我从JSON获得的值突出显示该行。
这段代码从我的PHP类中获取JSON:
$("#register").submit(function(event) {
/* stop form from submitting normally */
event.preventDefault();
/* get some values from elements on the page: */
var $form = $( this ),
name = $form.find( 'input[name="name"]' ).val(),
email = $form.find( 'input[name="email"]' ).val(),
func
/* Send the data using post */
var posting = $.post( 'controller.php', { name: name, email: email, func: 'register' } );
/* Put the results into a template */
posting.done(function(data) {
var data = $.parseJSON(data);
var userlist = Handlebars.compile( $("#userlist").html() );
$(".users").html(userlist(data));
}); /*end function */
});
我能够看到我的数据列表没问题。这很好用。我觉得我需要做一个registerHelper或者一个registerPartial但不确定。
答案 0 :(得分:0)
如果您有一个布尔属性,比如说active
,请设置指示活动行的对象,然后您只需在模板中执行以下操作:
{{#each this}}
<tr{{#if active}} class="active"{{/if}}>
<td>{{name}}</td>
<td>{{email}} {{lastName}}</td>
<td>{{time}}</td>
</tr>
{{/each}}