プロトタイプでajaxを使用してマルチセレクトボックスを更新しています:
new Ajax.Updater(selectbox, someurl,{
method:'post',
parameters: "data=" + result,
onFailure: function(){ alert('ajax updater error'); }
});
アップデーターは非常にうまく機能し、選択ボックスはajax呼び出しによって返されたオプションで更新されます。唯一の問題は、IEで一番上のオプションが自動的に選択されていることです。
入れて手動で選択を解除しようとしていました
document.getElementById(selectbox).options[0].selected = false;
関数の直後で句Ajax.Updater()
の内側ですonSuccess: {}
が、チェックボックスが更新される前に初期化されたため、ここからの唯一の方法は遅延を設定することでしたが、これを行う別の方法があるかどうか疑問に思っていますか?
また、すべてのオプションに属性selected="false"
を追加しても、最後のオプションが自動的に選択されるため、問題は解決しません:(