我正在使用dojo 1.6,我遇到的問題非常獨特。看看下面的代碼:無法在dojo中選擇任何選項選擇
var dd = new dijit.form.Select({
id: 'dd',
options: [{label:'option1'}, {label: 'option2'}],
});
dojo.connect(dd, "onChange", this, function(){
console.debug("trying to catch the change");
});
所以按照上面的代碼我應該得到下一個下降,並能夠在下拉改變價值和dojo.connect
趕上事件。雖然我確實得到了一個下拉菜單,默認情況下已選擇option1
,但我無法選擇option2
。請注意,這兩個選項在下拉列表中都可見,但選擇不起作用。 我在道場上相當陌生,但從所有例子來看,這似乎是下降的最低要求。我會很感激任何反饋。 編輯: 因此,事實證明,如果我設置選項,如[{label: 'option1', value: 1}, {label: 'option2', value:2}]
然後一切正常,因爲我想。但是有人可以解釋一下這裏價值的作用,爲什麼它必須始終處於整數狀態?
我還沒有嘗試一個字符串作爲我的價值,但我知道如果我使用了像123499這樣的數字,那麼它仍然會以奇怪的行爲結束。出於某種原因,或者至少在我的情況下,它必須是1,2,3 ......等等。謝謝你的解釋! – Shay
我依稀記得在商店中有一些id爲數字的問題,但不直接在選擇dijit中。在商店的情況下,我不得不將id號碼轉換爲字符串。我認爲這與對象屬性順序不能保證數值屬性名稱有關,但其他人可以更好地回答。 – Frode
您是否有任何參考資料或您正在使用的dojo版本?因爲現在我正在使用dojo 1.6,我不需要分配字符串值。我想如果跳出順序,你將不得不保持他們的字符串。例如:'options:[{label:「foo」,value:1},{label:「bar」,value:2}]'對我來說工作正常。但是,如果我跳過'2',那麼我需要按照您所示的方式使它們成爲字符串。另外,另一種更改默認值的方法是'options:[{label:「foo」,value:1},{label:「bar」,value:2,selected:true}]'。不知道這是否會在你的版本中起作用。 – Shay