1

これが私が達成したいことです、私は数行でロードする選択ボックスを持っています、選択が変更されたとき(変更時)、キーはJSON形式で配列を返すPHP関数にAJAXされ、私のコードは選択をクリアしますボックスオプションを使用して、PHP関数から返したばかりの値を適用します。

問題は、新しい値が設定されると、onchangeイベントが再度発生し、これにより値が設定され、無限ループの開始になります。Firebugはエラーをキャッチし、それを吐き出します。

私の質問は、onchangeイベントを無効にして、一度だけ発生するようにする方法はありますか?プロトタイプをベースにしたフレームワークでコーディングしているので、コード例を投稿するのは少し大変ですが、リクエストに応じて不足しているデータを入力することもできます。

乾杯!ILMV

4

1 に答える 1

1

フラグ変数を使用します。発生を停止することを心配する必要はありませんonchange。代わりに、フラグ変数に基づく条件でロジックをラップします。

基本的には、変数を作成し、プログラムで入力を更新canChangeするときに設定しfalseます。次に、onchangeロジック内で、その変数の値を確認します。falseの場合は何もしませんがtrue、次のonchangeイベントのために元に戻します。それが本当なら、新しいデータのためにあなたの典型的なajaxリクエストをしてください。

于 2010-02-02T14:17:24.107 に答える