Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 选项选择中的组使用stickit绑定_Javascript_Jquery_Twitter Bootstrap_Backbone.js_Backbone Stickit - Fatal编程技术网

Javascript 选项选择中的组使用stickit绑定

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

我在客户端使用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的绑定中,我添加了以下代码:

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'}]
//     }
//