【问题标题】:Backbone.js how can I select a combobox option in table-list?Backbone.js 如何在表格列表中选择组合框选项?
【发布时间】: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' 

那我该怎么办?

【问题讨论】:

    标签: backbone.js javascript-framework datagridviewcombobox


    【解决方案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”。试试看
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-27
    • 1970-01-01
    相关资源
    最近更新 更多