2017-02-03 1 views
1

valueの項目値がcodeで表されるJSONをDOJO選択に入力したいとします。例:DOJOを選択する方法ラベルと値の代わりに任意のパラメータを含むJSONを選択する

//require dojo Select 

var select = new Select({ 
    name: "stateSelect",          
    options: [ { display: '1', code: 'TN', label: 'Tennessee' }, 
       { display: '2',code: 'VA', label: 'Virginia'}, 
       { display: '3',code: 'WA', label: 'Washington' }, 
       { display: '4',code: 'FL', label: 'Florida' }, 
       { display: '5',code: 'CA', label: 'California' }]          
    }, "stateSelect"); 
    select.startup(); 
} 

しかし、動作しません。しかし、codeの代わりにvalue(DOJOがid値として求めているもの)の代わりにvalueを使用しています。しかし、JSONにはcode(プラスdisplaylabel)というタグが付いています。 JSONについて話しているので、注文は問題ではないはずですが、恐らくDOJOはvalueのパラメータを要求します。 DOJOがのcodeタグを取得するように指定する方法と、タグの位置要件を明確にしてください。他の多くの機能では、システムがcodeのアイテムの値を必要とするため、文字列の置換は受け入れられない解決方法です。

ドキュメント:https://dojotoolkit.org/reference-guide/1.6/dijit/form/Select.html

EDIT:重要。私はタグが指定されていないことに気づいた。マーク( "")。しかし、私のJSONはそれらを持っています(例えば、 "code": "product1" ...そしてcode: "product1")。これをどうすれば処理できますか?

答えて

1

オプション配列を指定した場合は、valuelabelが必要です。 codeプロパティの名前を変更する必要はありません。valueにコピーするか、別の配列を作成します(アプリケーションの残りの部分で問題が発生しない場合)。

ただし、オプション配列の代わりにストアを使用して選択を作成することもできます。店舗は一般にidプロパティを定義できます。 http://dojotoolkit.org/documentation/tutorials/1.6/selects_using_stores/

:あなたは、このドキュメントのリンクでより多くの情報を見つけることができ

{ 
    "identifier": "abbreviation", 
    "label": "name", 
    "items": [ 
     { "abbreviation": "AL", "name": "Alabama" }, 

     ... other 48 states here ... 

     { "abbreviation": "WY", "name": "Wyoming" } 
    ] 
} 

:ItemFileReadStoreは(1.6道場)次の構造を持つオブジェクトを期待します

関連する問題