2013-03-03 145 views
0

我最近開始jQuery和我遇到了一點打嗝,當我在我的AJAX功能,它只能運行一次,這裏是代碼:jQuery的AJAX只運行一次

$('input').live('click', function(event){ 
    var conf = confirm("Are you sure you want to delete this user?"); 
    if(conf == true) 
    { 
     var list = document.getElementById("Users"); 
     document.getElementById("msg").innerHTML = "Deleting..."; 

     $.ajax({ 
       type: "GET", 
       url: "Pages/Functionality/delete-user.php", 
       data: "userid=" + list.options[list.selectedIndex].value + "&id=" + getURLParameter('id'), 
       success: function(m){ 
        document.getElementById("userList").innerHTML = m      
       }, 
       error: function (xhr, status, error) { 
       if (xhr.status > 0) alert('Error Occured!\n\nError: ' + error + '\n' + 'Status: ' + status); 
      } 
     }); 
    } 
}); 

當跑第二次到達ajax部分並停止,我試過.on,但第二次它根本沒有運行,我試過.delegate,同樣的事情發生在使用.live但它運行多次。

我又一次找到了解決方案,所以我決定嘗試在網上尋求幫助。

乾杯,

羅素

編輯:我也曾嘗試設置緩存假的,但沒有奏效。

+0

你看着JavaScript控制檯,看是否被拋出一個錯誤? – lilwupster 2013-03-03 17:57:43

+0

使用[Firebug](http://getfirebug.com/)檢查錯誤? – SilentAssassin 2013-03-03 18:10:01

+0

管理修復它,與AJAX無關,發現使用JavaScript控制檯(第一次使用的方式:))我的列表之一返回null,現在設法修復它。我被困在這個幾個小時,這樣一個簡單的錯誤大聲笑,歡呼lilwupster的JavaScript控制檯的建議。 – RJK 2013-03-03 18:19:28

回答

1

嘗試在年底從處理程序返回false,以防止默認動作:

$(document).on('click', 'input', function(event) { 
    ... 
    return false; 
}); 
+0

乾杯的建議,但沒有運氣,我也嘗試'event.preventDefault()'嘗試並停止發生的默認行爲。 – RJK 2013-03-03 17:59:47