2013-03-03 154 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