2014-01-25 66 views
0

这是隐藏数据着隐藏的数据添加

$(".dispatch_pedido").live('click', function(){ 

    var res = this.id.split("_"); 

    var id = res[1]; 

    $("#"+id).hide(); 
}); 

这个代码只能对最初加入而不是由AJAX将数据添加到数据的功能。

+0

您应该使用更新版本的jQuery。有一个如此旧的版本的图书馆,发展适应新版本的浏览器是没有意义的。 –

+0

是一个4年前编写的WEB应用程序,如果我更新了jQuery,LIVE函数将停止在网站的其他部分工作... @dystroy – bmacuer

+0

'live'已弃用,因为1.7版使用'on'代替。 – loki

回答

0

当你使用AJAX来新元素添加到DOM,你需要使用event delegation因此事件可以绑定到新添加的元素:

$(document).on('click', '.dispatch_pedido' , function(){ 

}); 

此外,live已废弃的jQuery版本1.7,您应该改用​​。


您可以在旧版本的jQuery的使用delegate()代替on()

$(document).delegate(".dispatch_pedido", "click", function() { 
    // Your code here 
}); 
+1

这并不能解释为什么OP的代码不起作用。 –

+0

不能更新jquery在这个web应用程序上构建的所有东西都是用live(4年前的应用程序)构建的,我知道使用所需选择器的一种方式,但我忘了它。 – bmacuer

+0

@bmacuer你可以使用'delegate()'。检查我的更新 – Felix

0

看来你的语法是不正确的。检出以下代码。

$(".dispatch_pedido").live('click', function(){ 

    var res = $(this).attr("id").split("_"); 

    var id = res[1]; 

    $("#"+id).hide(); 
});