dojox CheckedMultiSelect 获取选中值 returns undefine

dojox CheckedMultiSelect get checked value returns undefine

请参阅下面的示例。当检查下拉列表中的项目时,控制台会记录一个包含 "undefined" 个对象的数组。获取一系列检查项目的正确方法是什么? http://jsfiddle.net/4L3sksmt/4/

require(['dojox/form/CheckedMultiSelect'],function(CheckedMultiSelect){
var groupCheckedMultiSelect = new CheckedMultiSelect ({
      id: "groupChkMultiSelect",
      dropDown: true,
      multiple: true,
      label: "Group", 
      onChange: function(evt){
       console.log(evt);//output = undefined
      }
  }, 'GroupDiv');
 groupCheckedMultiSelect.addOption({'label':'One'});
 groupCheckedMultiSelect.addOption({'label':'Two'});
 groupCheckedMultiSelect.addOption({'label':'Three'});
 groupCheckedMultiSelect.addOption({'label':'Four'});
 groupCheckedMultiSelect.addOption({'label':'Five'});
 groupCheckedMultiSelect.startup();
});

返回 undefined 值,因为您没有设置选项的值。选项的正确格式是 { label : 'One', value: 1 }。下面的代码现在应该可以工作了。

require(['dojox/form/CheckedMultiSelect'],function(CheckedMultiSelect){
var groupCheckedMultiSelect = new CheckedMultiSelect ({
      id: "groupChkMultiSelect",
      dropDown: true,
      multiple: true,
      label: "Group", 
      onChange: function(evt){
       console.log(evt);//output = undefined
      }
  }, 'GroupDiv');
 groupCheckedMultiSelect.addOption({'label':'One', value: 1});
 groupCheckedMultiSelect.addOption({'label':'Two', value: 2});
 groupCheckedMultiSelect.addOption({'label':'Three', value: 3});
 groupCheckedMultiSelect.addOption({'label':'Four', value: 4});
 groupCheckedMultiSelect.addOption({'label':'Five', value: 5});
 groupCheckedMultiSelect.startup();
});