Javascript 如何使用包含任意参数而不是标签和值的JSON填充DOJO Select
我想用JSON填充DOJO select,其中Javascript 如何使用包含任意参数而不是标签和值的JSON填充DOJO Select,javascript,json,select,dojo,Javascript,Json,Select,Dojo,我想用JSON填充DOJO select,其中value的项值由code表示。例如: //require dojo Select var select = new Select({ name: "stateSelect", options: [ { display: '1', code: 'TN', label: 'Tennessee' }, { display: '2',co
value
的项值由code
表示。例如:
//require dojo Select
var select = new Select({
name: "stateSelect",
options: [ { display: '1', code: 'TN', label: 'Tennessee' },
{ display: '2',code: 'VA', label: 'Virginia'},
{ display: '3',code: 'WA', label: 'Washington' },
{ display: '4',code: 'FL', label: 'Florida' },
{ display: '5',code: 'CA', label: 'California' }]
}, "stateSelect");
select.startup();
}
但它不起作用。然而,用value
代替code
(DOJO想要的id值)是可行的。但是我的JSON带有code
(加上display
和label
)标记。我认为顺序应该不是问题,因为我们讨论的是JSON,但DOJO可能需要value
参数。您能否澄清标记位置要求以及如何指定我希望DOJO将我的代码
标记作为其值
?替换字符串不是一个可接受的解决方案,因为系统需要my items的code
值来执行许多其他功能
文件:
编辑:重要。我注意到标签中没有引号。标记(“”)。但我的JSON有它们(例如“代码”:“product1”…而不是代码:“product1”)。如何处理此问题?当提供选项数组时,选择expects
value
和label
。您不必重命名code
属性,只需将其复制到value
或创建另一个数组(如果它不会给应用程序的其余部分带来太多麻烦的话)
但是,也可以使用存储而不是选项数组创建选择。存储通常可以定义其id属性。ItemFileReadStore(dojo 1.6)需要具有以下结构的对象:
{
"identifier": "abbreviation",
"label": "name",
"items": [
{ "abbreviation": "AL", "name": "Alabama" },
... other 48 states here ...
{ "abbreviation": "WY", "name": "Wyoming" }
]
}
您可以在此文档链接中找到更多信息: