的JavaScript代碼中動態創建下拉框中的新選項:如何使用Dojo
var ref =dojo.byId("xyz");
var optn = document.createElement("OPTION");
optn.text="txt"
optn.value="val"
ref.options.add(optn);
我想道場相當於上面的代碼
的JavaScript代碼中動態創建下拉框中的新選項:如何使用Dojo
var ref =dojo.byId("xyz");
var optn = document.createElement("OPTION");
optn.text="txt"
optn.value="val"
ref.options.add(optn);
我想道場相當於上面的代碼
我認爲這將是:
var ref = dojobyId("xyz");
dojo.create("option", { value: "some", innerHTML: "label of option"}, ref);
剛閱讀關於dojo的dom功能的documentation,這很簡單。
祝你好運!
兩個選項:
選項1:
dojo.require("dijit.form.Select");
var ref = dojo.byId("xyz");
dojo.create("option", {
value: "val",
innerHTML:
"label of option"
}, ref);
選項2:
dojo.require("dijit.form.Select");
dojo.ready(function() {
new dijit.form.Select({
name: 'myName',
options: [{{
label: 'xyz',
value: 'val',
selected: true
}]
}).placeAt(dojo.byId("xyz"));
});
你已經在使用道場(dojo.byId)。
Dojo不替代JavaScript(它增加了它)。當事情在JavaScript中已經很清晰或簡潔時,它不會試圖提供一種替代正常JavaScript的方式。
在你的榜樣,您可以嘗試:
dojo.create("option", { text:"txt", value:"val" }, dojo.byId("xyz"));
這直接造成了<select>
元素(我假設是 「XYZ」)裏面的<option>
標籤。但是,有些瀏覽器似乎不喜歡直接添加<option>
標籤,而不是將其添加到options
屬性中。如果是這樣,你可以使用<select>
標籤本身的add
功能:
dojo.byId("xyz").add(dojo.create("option", { text:"txt", value:"val" }));
注意,比調用dojo.create
是simpifies創建元素,一切有關增加一個選項,一個<select>
另一種是標準的JavaScript。
由於innerHTML
並不在IE瀏覽器,我沒有如下,它的工作:
option = document.createElement('option'); option.text = 'xyz'; option.value = 'val'; dojo.byId('commodities').add(option);
dijit.byId('mySelect').addOption({ label: 'text' , value: 'val' });
爲我工作在道場1.6
感謝把代碼塊...這是新的 – ivandov 2012-11-26 16:01:16