2016-09-19 7 views
0

dojox/form/CheckedMultiSelectコントロールがあります。ドロップダウンからいくつかの項目をチェックすると、ラベルが「2 Items(s)Selected」に変更されました。それを「2状態選択」のようにカスタマイズする方法。変更dojox CheckedMultiSelectコントロールのデフォルトのラベルスタイル

var stateCheckedMultiSelect = new CheckedMultiSelect ({ 
 
    id: 'stateChkMultiSelect', 
 
    dropDown: true, 
 
    multiple: true, 
 
    onChange: lang.hitch(this, function(result){ 
 
     stateChecked = result; 
 
    }) 
 
}); 
 

 
stateCheckedMultiSelect.set('style', {width: '100%', height: '30px', fontSize: '14px'}); 
 
stateCheckedMultiSelect.addOption({'label': 'Texas', 'value': 'TX'}); 
 
stateCheckedMultiSelect.addOption({'label': 'New York', 'value': 'NY'}); 
 
stateCheckedMultiSelect.startup();

enter image description here

答えて

0

私は以下のコードを経由して私の目的を達成することができました。それを行うより良い方法があるかどうかはわかりません。もしそうなら、助言してください。

var StateCheckedMultiSelect = 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 labels = []; 
 
       array.forEach(this.options, function(option){ 
 
        if(option.selected){ 
 
         labels.push(option.label); 
 
        } 
 
       }); 
 

 
       this.dropDownButton.set("label", labels.length + 'state(s) selected'); 
 
      } 
 
     } 
 
});

関連する問題