javascript関数から、div clickイベントで新しい選択ボックスを作成しています。Dojo dijit.form.select:新しい選択ウィジェットを作成した後、選択した古いウィジェットの値を変更することはできません
ユーザーがdivをクリックすると、新しい選択ボックスがページの他の場所(他のものとともに)に作成されます。
は具体的には、divのクリックで、私は、フォームの(javascript関数で)文字列を作成します。
<select id="derp"+divName dojoType="dijit.form.Select" onChange="dosomething()">
<option value="foo">foo</option>
<option value="bar">bar</option>
...
</select>
は、その後、私は選択上記をウィジェット化関数を呼び出す:
function makeDojoWidget(digitID){
var widget = new dijit.form.Select({},digitID); //options,elementID
}
それはちょうど良いウィジェットを作成します。ユーザーが別のdivをクリックすると、別の選択ボックスが作成されます。しかし、新しい選択だけが編集可能です。つまり、他の選択ボックスの選択値を変更することはできません。
私はdijitとしてレンダリングしようとしないとうまくいくので、dojoの問題です(つまり、通常のselectを作成すると、選択した値をすべて変更できます。新しい選択)。
私は困惑しています...どんな提案ですか?
varウィジェットを関数のスコープ外に宣言するとどうなりますか? – perissf
あなたの 'digitID'は一意ですか? Widgetをプログラム的に作成して配置していない理由はありますか? – BuffaloBuffalo