javascript
  • jquery
  • 2012-04-04 89 views 1 likes 
    1
    $("#button_title_delete").click(function(){ 
        jQuery.ajax({type:'POST', 
          url:'delete.php', 
          data: 'id='+$("bid").val(), 
          success: function(veri) { $("#delete_result").html(veri);} 
         }); 
        }); 
    

    當我點擊「button_title_delete」id的按鈕,該功能只能工作一次。我究竟做錯了什麼?我應該如何解決這個問題?JQuery點擊操作只能工作一次

    +1

    做了新的一頁 'delete.php' 包含相同的代碼/邏輯相同的按鈕? – ericosg 2012-04-04 16:07:51

    回答

    5

    可能因爲您正在替換AJAX函數的success回調按鈕。您需要使用jQuery的.on()方法來附加點擊事件。

    +0

    是的,我注意到我正在替換其他一些JQuery請求中的按鈕。感謝您指出,非常感謝。 – 2012-04-04 16:01:09

    +0

    @gcx:很高興有幫助! – 2012-04-04 16:01:49

    +2

    注意:您需要在「委託模式」中通過傳遞選擇器作爲第二個參數來使用'.on'。 – 2012-04-04 16:03:58

    3

    我的猜測是該按鈕位於$("#delete_result")之內。當您執行$("#delete_result").html(veri)時,您將刪除按鈕(及其事件),然後創建一個新按鈕。

    你需要讓按鈕有一個「活」事件。像這樣:

    $("#delete_result").on("click", "#button_title_delete", function(){ 
        jQuery.ajax({type:'POST', 
          url:'delete.php', 
          data: 'id='+$("bid").val(), 
          success: function(veri) { $("#delete_result").html(veri);} 
         }); 
        }); 
    

    DEMO:http://jsfiddle.net/pujr8/

    相關問題