dijit/form/select のストアをその場で変更しようとしています。そのためには、サーバーからストアを取得する必要があります。このストアを一時ストアに保存し、コードで一時ストアに変更を加える必要があります。
以下のコードでは、requiredStore にサーバーから受信したデータがあります。私の場合はtemporaryStoreで、requiredStoreのデータを割り当てることができる新しい一時ストアを作成する必要があります。以下は私が使用したコードです。
function getDropDownContents() {
require([
"dojo/store/Memory",
"dijit/form/Select",
"dojo/data/ObjectStore",
"dojo/request",
"dojo/domReady!"
],
function (Memory, Select, ObjectStore, request) {
var os;
var def = new dojo.Deferred();
dojo.xhrGet({
url: "pageToGetValues.aspx",
handleAs: "json",
load: function (res) {
requiredStore = new Memory({ data: res });
temporaryStore = requiredStore;
getOptionsToSelect('dropdown1');
var select = dijit.byId('dropdown1');
select.on('change', function (evt) {
getOptionsToSelect('dropdown2');
});
myFormDialog.show();
}
});
});
}
しかし、私が従わないjavaScriptの原則はわかりません.coz、temporaryStoreを変更すると、requiredStoreも変更されます。