Javascript 选项选择中的组使用stickit绑定
我在客户端使用Backbone.stickit、Backbone.marionete和Backbone作为版本页面 我的模型的一个字段是从下拉列表中选取的,我想在下拉列表中创建选项组。我该怎么办 /*模型*/ //语言/模型.js Language=Backbone.Model.extend{}; LanguageCollection=Backbone.Collection.extend{ 模型:语言 }; //Book/Models.js Book=Backbone.Model.extend{}; /*观点*/ //Book/Views.js BookAttributesView=Marionette.ItemView.extend{ el:BookAttributesBox, 模板:BookAttributesTemplate, 绑定: { 标题:标题,, AuthorName:AuthorName, 语言代码:{ 注意:语言代码, 选择选项:{ 集合:新语言集合[{名称:英语,代码:en},{名称:德语,代码:de}], labelPath:名称, valuePath:代码 } } }, onRender:函数{ 这个.stickit; } }; /*渲染视图*/ var book=新书{书名:Dune,作者姓名:Frank Herbert,语言代码:en}; 新建BookAttributesView{model:book}.render; 身体{ 填充:10px; } 标题 我发现我们可以重写update方法 在select的绑定中,我添加了以下代码:Javascript 选项选择中的组使用stickit绑定,javascript,jquery,twitter-bootstrap,backbone.js,backbone-stickit,Javascript,Jquery,Twitter Bootstrap,Backbone.js,Backbone Stickit,我在客户端使用Backbone.stickit、Backbone.marionete和Backbone作为版本页面 我的模型的一个字段是从下拉列表中选取的,我想在下拉列表中创建选项组。我该怎么办 /*模型*/ //语言/模型.js Language=Backbone.Model.extend{}; LanguageCollection=Backbone.Collection.extend{ 模型:语言 }; //Book/Models.js Book=Backbone.Model.extend
update: function($el, val, model, options) {
LanguageChannel.data.languages.each(function(language){
// Find parent.
var parent = $el.find("#LanguageReadable");
if (language.get("isEditable")){
parent = $el.find("#LanguageEditable");
}
// Select correct value.
var selected = "";
if (language.get("Code") == val){
selected = ' selected="selected"';
}
// Add option to optgroup.
parent.append("<option" + selected + ">" + language.get("Name") + "</option>");
});}
标题
我在来源中发现了这一点
// To define a select with optgroups, format selectOptions.collection as an object
// with an 'opt_labels' property, as in the following:
//
// {
// 'opt_labels': ['Looney Tunes', 'Three Stooges'],
// 'Looney Tunes': [{id: 1, name: 'Bugs Bunny'}, {id: 2, name: 'Donald Duck'}],
// 'Three Stooges': [{id: 3, name : 'moe'}, {id: 4, name : 'larry'}, {id: 5, name : 'curly'}]
// }
//