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 如何在表格列表中选择组合框选项?的主要内容,如果未能解决你的问题,请参考以下文章

在组合框中选择升序时如何对元素列表进行排序

用于打开报告的组合框 - 无法选择组合框中的项目

表格中的组合框下拉列表

使用组合框中的值编辑从列表框中选择的记录中的字段

如何确定在 Access VBA 中键入组合框和从下拉列表中选择之间的区别?

将电子表格 (OpenOffice) 导入 Visual Basic .net 组合框