2010-02-02 23 views
1

這是我想要實現的,我有一個選擇框加載了幾行,當select被更改時(onchange),鍵被AJAX轉換爲PHP函數,返回一個數組JSON格式,我的代碼然後清除選擇框選項,並應用我剛剛從我的PHP函數返回的值,很好。更新選擇框而不會導致onChange

問題是,當新的值被設置,它再次觸發onchange事件,這設置值,我們在一個永無止境的循環的開始。 Firebug捕獲錯誤並吐出。

我的問題是有沒有辦法禁用onchange事件,所以它只會觸發一次?我在基於原型的框架中編寫代碼,發佈代碼示例會有點沉重,但是我可以嘗試根據請求填寫任何缺失的數據。

乾杯! ILMV

回答

1

使用標誌變量。不要擔心停止發生onchange,而是根據標誌變量將其邏輯包含在條件中。

基本上,您只需創建一個變量canChange,並在程序更新輸入時將其設置爲false。然後,在onchange邏輯中,檢查該變量的值。如果它是錯誤的,請不要做任何事情,但在下一個onchange事件中切換回true。如果確實如此,請對新數據執行典型的ajax請求。

+0

感謝您的回覆,我想我可能不得不走上這條路,我會去玩,然後報告我的發現:-) – 2010-02-02 14:22:48

+0

@ILMV:祝您好運! – Sampson 2010-02-02 14:23:13

+0

工作很好,非常感謝喬納森! – 2010-02-03 10:28:35