我想显示一个包含dijit.ComboBox的弹出对话框,其中包含使用ajax请求或数据存储填充的数据。 我面临的问题是组合框始终被禁用。
我选择的代码是:
<div dojoType="dojo.data.ItemFileReadStore" id="osTypeStore" data-dojo-id="osTypeStore" url="/AjaxPopulateOS.json">
</div>
<select id="osType" data-dojo-type="dijit.form.ComboBox"
data-dojo-props="
id:'osType',
store: osTypeStore,
placeHolder: 'Select a schdule type'" >
</select>
任何想法
答案 0 :(得分:1)
我相信这是因为里面没有物品?它是否完全变灰 - 并设置了Disabled类参数?
检查dijit.byId('osTypeStore')是否返回商店并且其中包含商品。
如果是这种情况,请将代码更改为
store: 'osTypeStore'
注意引号。这会强制解析器将字符串计算为dijit - 并且存储可能尚未在读取时正确初始化为真正的变量。换句话说,在组合框构造函数中 - javascript变量未定义。
如果这没有帮助,请尝试在为对话框运行onShow后强制设置存储。
dialog.onShow = function() {
dijit.byId('osType').set('store', dijit.byId('osTypeStore'));
}
答案 1 :(得分:0)
尝试使用组合的属性
强制启用它 enabled: true,
除此之外,请使用Firebug或调试栏或类似的东西进行检查:)