2013-02-09 21 views
1

我有一個以編程方式創建的CheckedMultiSelect。如何以編程方式設置dojox.form.CheckedMultiSelect的值?

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

到目前爲止好。 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']); 

任何想法?

回答

3

好吧,我找到了答案here

然而,dijit.form.Select擁有一個重要的限制:是 以這樣一種方式,它不處理非字符串項 身份很好的落實。特別是,通過select.set(「value」,id)以編程方式設置小部件 的當前值將不會與 非字符串(例如數字)身份一起使用。

的解決方案是在商店投ID,以字符串和使用

productSelect.set('value', ['4', '3']);  
相關問題