Backbone.js, как я могу выбрать опцию в выпадающем списке?
Я добавил комбинированный список в шаблон списка таблиц
<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>
так что моя модель ЧК является;
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 поддерживает циклы, поэтому попробуйте следующее. Обратите внимание, что у вас неправильная структура с моделями и коллекциями. Из того, что я понимаю, у вас есть модель, и одним из ее атрибутов является коллекция. Проверьте основную документацию, чтобы увидеть, как получить и установить атрибуты. Используйте правильный метод, иначе события не сработают.
Я собирался попытаться опубликовать некоторый код, но я боюсь, что пойму его неправильно, так как я не понимаю контекст и все, что вы делаете.
Потратьте немного времени и пройдите этот урок, чтобы лучше понять, как вам следует поступать.
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}}