的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