Drop down menu labelType不适用于dijit/forms/select
向dijit/forms/select添加一个选项,如下所示Drop down menu labelType不适用于dijit/forms/select,drop-down-menu,dojo,dijit.form,Drop Down Menu,Dojo,Dijit.form,向dijit/forms/select添加一个选项,如下所示 ” 由于dijit/forms/select在默认情况下使用labelType=“html”,因此我将labelType设置为“text”,但即使这样,该选项也被添加为html元素 HTML Javascript(Dojo) 需要([ “dojo/ready”, “dojo/_base/lang”, “dijit/registry”],函数(就绪、lang、注册表){ 就绪(函数(){ var select1=registry.b
”
由于dijit/forms/select在默认情况下使用labelType=“html”,因此我将labelType设置为“text”,但即使这样,该选项也被添加为html元素
HTML
Javascript(Dojo)
需要([
“dojo/ready”,
“dojo/_base/lang”,
“dijit/registry”],函数(就绪、lang、注册表){
就绪(函数(){
var select1=registry.byId(“select1”);
选项1={
值:“o1”,
标签:“选项1”,
所选:false
};
选项2={
值:“o2”,
标签:“选项2”,
所选:真
};
选项0={
值:“o”,
标签:“,
所选:false
};
选择1.addOption(lang.clone(option1));
选择1.addOption(lang.clone(option2));
选择1.addOption(lang.clone(option0));
});
}))
这应该可以:
require([
"dojo/ready",
"dojo/_base/lang",
"dijit/registry"], function (
ready,
lang,
registry) {
ready(function () {
var select1 = registry.byId("select1");
var option1 = [
{
value: "o1",
label: "option 1",
selected: false
},
{
value: "o2",
label: "option 2",
selected: false
},
{
value: "o",
label: "<nav Assad>",
selected: true
} ]
select1.addOption(lang.clone(option1));
});
});
我注意到您的JSFIDLE正在与Dojo 1.9竞争。如果您切换到针对Dojo1.10运行,它将按照您的预期工作
只有在Dojo 1.10中才添加了
labelType
属性。对于那些希望将Dojo 1.9与补丁一起使用的用户
需要([
“dojo/ready”,
“dojo/_base/lang”,
“dijit/注册表”,
“dojox/html/entities”],函数(ready、lang、registry、entities){
就绪(函数(){
var select1=registry.byId(“select1”);
选项1={
值:“o1”,
标签:“选项1”,
所选:false
};
选项2={
值:“o2”,
标签:“选项2”,
所选:真
};
选项0={
值:“o”,
标签:entities.encode(“”),
所选:false
};
选择1.addOption(lang.clone(option1));
选择1.addOption(lang.clone(option2));
选择1.addOption(lang.clone(option0));
});
})) labelType用于告诉select如何处理使用dojo存储创建子项时返回的标签。在您的情况下,您将不得不避开标签“<nav asdasd>”@tik27,实际上据我所知,它也适用于
选项:-也就是说,它是否有效将取决于Sam007是否使用Dojo 1.10…我实际上使用的是1.9,这就是问题所在。目前由于一些限制,我想我需要一些字符串转义来使它工作
require([
"dojo/ready",
"dojo/_base/lang",
"dijit/registry"], function (ready,lang,registry) {
ready(function () {
var select1 = registry.byId("select1");
option1 = {
value: "o1",
label: "option 1",
selected: false
};
option2 = {
value: "o2",
label: "option 2",
selected: true
};
option0 = {
value: "o",
label: "<nav asdasd>",
selected: false
};
select1.addOption(lang.clone(option1));
select1.addOption(lang.clone(option2));
select1.addOption(lang.clone(option0));
});
require([
"dojo/ready",
"dojo/_base/lang",
"dijit/registry"], function (
ready,
lang,
registry) {
ready(function () {
var select1 = registry.byId("select1");
var option1 = [
{
value: "o1",
label: "option 1",
selected: false
},
{
value: "o2",
label: "option 2",
selected: false
},
{
value: "o",
label: "<nav Assad>",
selected: true
} ]
select1.addOption(lang.clone(option1));
});
});
require([
"dojo/ready",
"dojo/_base/lang",
"dijit/registry",
"dojox/html/entities"], function (ready,lang,registry,entities) {
ready(function () {
var select1 = registry.byId("select1");
option1 = {
value: "o1",
label: "option 1",
selected: false
};
option2 = {
value: "o2",
label: "option 2",
selected: true
};
option0 = {
value: "o",
label: entities.encode("<nav asdasd>"),
selected: false
};
select1.addOption(lang.clone(option1));
select1.addOption(lang.clone(option2));
select1.addOption(lang.clone(option0));
});