无法在对话框中呈现组合框

时间:2012-08-18 07:55:12

标签: dojo

我想显示一个包含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>

combobox error

任何想法

2 个答案:

答案 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或调试栏或类似的东西进行检查:)