0

ajax リクエストまたはデータ ストアを使用してデータが入力された dijit.ComboBox を含むポップアップ ダイアログを表示したいと考えています。私が直面している問題は、コンボボックスが常に無効になっていることです。

私の選択したコードは次のとおりです。

<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>

コンボボックスエラー

何か案は

4

2 に答える 2

1

アイテムが入っていないからだと思いますか?完全にグレー表示されていますか? Disabled クラス パラメータが設定されていますか?

dijit.byId('osTypeStore') がストアを返し、そこにアイテムがあることを確認してください。

この場合は、コードを次のように変更します

store: 'osTypeStore'

引用符に注意してください。これにより、パーサーは文字列を dijit に評価するよう強制されます。ストアは、読み取られた時点で真の変数として正しく初期化されていない可能性があります。つまり、コンボボックス コンストラクターでは、javascript 変数が未定義です。

これで問題が解決しない場合は、ダイアログに対して onShow を実行した後で強制的にストアを設定してみてください。

dialog.onShow = function() {
     dijit.byId('osType').set('store', dijit.byId('osTypeStore'));
}
于 2012-08-19T15:33:49.900 に答える
0

コンボのプロパティを使用して強制的に有効にしてみてください

enabled: true,

それ以外は、Firebug やデバッグ バーなどを使用して確認してください :)

于 2012-08-18T07:57:49.190 に答える