dojo中的MultiSelectCombobox问题

sai*_*ath 2 javascript dojo

我需要在每个选项前面带有复选框的组合框,以选择多个选项.我尝试使用"dropdown:true"使用CheckedMultiSelect,

当我选择项目时,它显示组合框中的值,如选择的2个项目,选择的1个项目等.

如何显示在分隔符分隔的组合框的文本区域中选择的值?

是否必须为checkedMultiSelect更改css或H​​TML或其他内容?

提前致谢.

phu*_*ick 10

至于你的第二个问题,你必须扩展dojox.form.CheckedMultiSelectclass和override _updateSelectionstartup方法:

var MyCheckedMultiSelect = declare(CheckedMultiSelect, {

    startup: function() {
        this.inherited(arguments);  
        setTimeout(lang.hitch(this, function() {
            this.dropDownButton.set("label", this.label);            
        }));
    },

    _updateSelection: function() {
        this.inherited(arguments);                
        if(this.dropDown && this.dropDownButton) {
            var label = "";
            array.forEach(this.options, function(option) {
                if(option.selected) {
                    label += (label.length ? ", " : "") + option.label;
                }
            });

            this.dropDownButton.set("label", label.length ? label : this.label);
        }
    }

});
Run Code Online (Sandbox Code Playgroud)

使用MyCheckedMultiSelect而不是dojox.form.CheckedMultiSelect:

var checkedMultiSelect = new MyCheckedMultiSelect ({
    dropDown: true,
    multiple: true,
    label: "Select something...",
    store: dataStore
}, "placeholder");

checkedMultiSelect.startup();
Run Code Online (Sandbox Code Playgroud)

再次,我将此添加到jsFiddle:http://jsfiddle.net/phusick/894af/