Backbone.js 如何在表格列表中选择组合框选项?
Posted
技术标签:
【中文标题】Backbone.js 如何在表格列表中选择组合框选项?【英文标题】:Backbone.js how can I select a combobox option in table-list? 【发布时间】:2012-11-24 07:06:50 【问题描述】:我在列表模板中添加了一个组合框
<script type="text/x-handlebars-template" id="listItemTmpl">
<tr>
<td>partNo</td>
<td>
<select name="selectCombo" id="selectCombo">
#each chks
<option value='this.id' #if(this.id==status)selected/if>this.name</option>
/each
</select>
</td>
</tr>
</script>
所以我的 chk 模型是;
chkModel = Backbone.Model.extend(
urlRoot:url,
defaults:
name:""
);
但现在我收到这样的错误;
Uncaught Error: Parse error on line 13:
...ue='this.id' #if(this.id==status)
-----------------------^
Expecting 'ID', got 'undefined'
那我该怎么办?
【问题讨论】:
【参考方案1】:因此,您似乎想根据模型属性填充选择框。 Handlebar.js 似乎支持循环,因此请尝试以下操作。请注意,我认为您的模型和集合结构不正确。据我了解,您有一个模型,其属性之一是集合。检查backbone documentation 以了解如何获取和设置属性。使用正确的方法,否则不会触发事件。
我打算尝试发布一些代码,但我担心我会弄错,因为我不了解上下文以及您所做的一切。
花点时间阅读本教程,以更好地了解您应该如何做事。
http://coenraets.org/blog/2011/12/backbone-js-wine-cellar-tutorial-part-1-getting-started/
如果您在阅读博客后需要帮助,请发表评论
添加到这个。下面的代码是一个 handlebar.js 示例,它可以遍历 JSON 项(在您的情况下,它们将是模型属性)
#if items
<ul>
#each items
<li>
this.name
</li>
/each
</ul>
/if
【讨论】:
首先感谢您的回答,是的,我想根据我模型中的数据渲染组合框,但是我使用handlebar.js作为模板,所以请您解释一下吗? 好的,我只是再次查看了您的代码以理解它.....让我编辑上面的答案 我也编辑了,如果你有时间,你能再看看吗,非常感谢你。 我认为您可以删除“this”。在模板中并使用“id”和“name”。试试看以上是关于Backbone.js 如何在表格列表中选择组合框选项?的主要内容,如果未能解决你的问题,请参考以下文章