Backbone.js如何在table-list中选择一个combobox选项?

时间:2012-12-06 09:23:50

标签: backbone.js javascript-framework datagridviewcombobox

我在列表表模板中添加了一个组合框

<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 个答案:

答案 0 :(得分:0)

因此,您似乎希望使用一堆取决于模型属性来填充选择框。 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}}