2016-04-21 26 views
0

標準のHTML選択を使用して宣言的に作成されたDojoコンボボックスがあります。 XHRを介してサーバーからデータを取得する関数を呼び出すレスポンスデータの要素が、ドロップダウンの新しいオプションになる、別のテキストボックスにonChangeイベントがあります。Dojoコンボボックスに要素を動的に追加する方法

私はインターネットを介して例を試してきましたが、これまでのところ何も働いていません。これは現在エラーなしで試しているコードです。実際、置いた後に店の内容を見ると、データがそこにあります。

私はデータが設定された後、私はエラーを取得、ドロップダウンをクリックして「_AutoCompleterMixin.js.uncompressed.jsを:557キャッチされない例外TypeErrorを:未定義のプロパティを読み取ることができません 『のtoString』」:

var newOptions = new Array(); 

for (var i = 0; i < jsonData.length; i++) { 
    newOptions[i] = { value: jsonData[i].dataID, 
         label: jsonData[i].dataName, 
         selected: i == 0}; 
} 

var select = registry.byId("combobox"); 
select.store.put(newOptions, { overwrite: true }); 

また、 "select.store.data = newOptions;" また、コードを "select.store.add(option)"のように動かすことはループ内にあります。

3つのケースすべてでコンボボックスストアが設定されていますが、同じエラーが発生します。データにはnull値はありません。データには空白の値はありません。

私には何が欠けていますか? DOJOのドキュメント内のどこにいても、どこにいてもこの問題はありません。jsFiddleの例もあります。

2つ以上のハードコードされた値を追加しているという事実以外の違いはわかりません。

答えて

0

それはとります

newOptions[i] = { id: jsonData[i].dataID, 
         name: jsonData[i].dataName, 
         selected: i == 0}; 

ない

newOptions[i] = { value: jsonData[i].dataID, 
         label: jsonData[i].dataName, 
         selected: i == 0}; 
関連する問題