我有一个使用 Backbone 渲染的多选下拉菜单。当用户选择或取消选择选项时,我希望这些(取消)选择通过 Backbone 异步保存。
我找到了Backbone.Picky,并认为它可能对我的努力有所帮助,但我似乎无法让它检测选择。
在下面我FieldView的clicked函数中,console.log(this.model.selected);总是将undefined写入日志。为什么?
    var Field = Backbone.Model.extend({
        initialize: function(){
           var selectable = new Backbone.Picky.Selectable(this);
           _.extend(this, selectable);
        }
    });
    var FieldView = Backbone.View.extend({
        tagName: "option",
        initialize: function(){
            _.bindAll(this, 'render');
        },
        events: {
            "click":"clicked"
        },
        clicked: function(e) {
            var data_type = this.model.get("DATA_TYPE");
            console.log(this.model.selected);    // why is this undefined?
            console.log("it's a " + data_type);
        },
        render: function(){
            this.$el.attr('value', this.model.get('COLUMN_NAME')).html(this.model.get('display_name'));
            return this;
        }
    });
这是一个 jsfiddle http://jsfiddle.net/EAZCt/2/以获得更多上下文。
使用 Backbone,如何将选项的选择状态异步保存在多选列表中?