Dojo dijit.form.FilteringSelect ウィジェットで以下のコードを実行すると、IE8 で問題が発生します。以下のコードを実行してもエラー メッセージは表示されません。値が設定されていないだけです。Chrome と Firefox では正常に動作しますが、もちろん IE8 では動作しません。この問題を解決する方法はありますか?
dijit.byId("tracking_system_select_id").set("値", 7);
Dojo dijit.form.FilteringSelect ウィジェットで以下のコードを実行すると、IE8 で問題が発生します。以下のコードを実行してもエラー メッセージは表示されません。値が設定されていないだけです。Chrome と Firefox では正常に動作しますが、もちろん IE8 では動作しません。この問題を解決する方法はありますか?
dijit.byId("tracking_system_select_id").set("値", 7);
わかりましたので、値を設定するために次を呼び出しています。値を 7 から "7" に変更しました。
dijit.byId("tracking_system_select_id").set("value", "7");
次に、以下を呼び出して、値が何であるかをテストします。
console.log("Main.trackingSystemId: " + dijit.byId("tracking_system_select_id").get("value"));
console.log("Main.trackingSystem: " + dijit.byId('tracking_system_select_id').attr('displayedValue'));
var test = dijit.byId('tracking_system_select_id').get('value');
if (typeof test === 'string'){
console.log('typeof string');
} else if (typeof(test === 'number')){
console.log('typeof number');
} else {
console.log('typeof unknown');
}
受信したログ エントリは次のとおりです。
LOG: Main.trackingSystemId:
LOG: Main.trackingSystem:
LOG: typeof string
FilteringSelect の作成に .startup() も追加しました。数値識別子から文字列識別子に変更しても違いはありませんでした。データストアの識別子の値も文字列であるため、文字列から数値への問題はありません。
OK, so here is what I found. I tried creating a dijit.form.FilteringSelect box and setting its default value at the time of creation and it works in Firefox and Chrome, but once again not in IE8 or IE9. I'm going to give up and accept that it doesn't work in IE.
Would be nice if Dojo fixed this.
Dojo Selects が数値でうまく機能しないことはわかっています。
最良の結果を得るには、アイテムの ID が文字列であるストアでのみ dijit/form/Select を使用してください。
http://dojotoolkit.org/documentation/tutorials/1.8/selects_using_stores/
FilteringSelect に同じ制限があるかどうかはわかりませんが、試してみる価値があるかもしれません。