如何以编程方式设置dojox.form.CheckedMultiSelect的值?

时间:2013-02-09 15:38:26

标签: javascript dojo

我有一个以编程方式创建的CheckedMultiSelect。

new dojox.form.CheckedMultiSelect({
        id: 'products',
        name: 'products',
        multiple: true,
        readOnly: false,
        store: store,
    },'products').startup();

到目前为止一切顺利。 MultiSelect已创建。现在,我使用multiselect打开网页,选中一些复选框并使用Chrome控制台:

var productSelect = dijit.byId("products");
productSelect.get('value');
[4, 3] 

[4,3]是一个检查值数组。

我的下一步是取消选中之前选中的复选框并再次使用Chrome控制台:

productSelect.set('value', [4, 3]);

这是问题发生的地方。函数'set'无效。箱子没有被选中。

我甚至尝试过

productSelect.set('value', ['4', '3']);

有什么想法吗?

1 个答案:

答案 0 :(得分:5)

好的,我找到了答案here

  

但是,dijit.form.Select有一个重要的限制:它是   以这样的方式实现它不处理非字符串项   身份很好。特别是,设置小部件的当前值   以编程方式通过select.set(“value”,id)将无法使用   非字符串(例如数字)身份。

解决方案是将存储中的ID转换为字符串并使用

productSelect.set('value', ['4', '3']);     
相关问题