0

我做了一个jQuery代码,如:

$('button').click(function(event) {

});

在里面; 我将$.post数据放入并发送到 php 文件并返回表行。在每一行中,都有一个“添加”按钮。

然后我为这些按钮制作了另一个 jquery 代码,例如:

$('.row_button').click(function(event) {

});  

同样,我放置$.post并尝试发送有关该行的数据,并希望通过 ajax 请求获取信息。但它没有用。什么也没发生。我看了代码,没有错误。

难道不能在另一个ajax中使用ajax吗?还是有其他方法?谢谢你。

4

2 回答 2

7

那是因为那些新注入的元素不知道你已经拥有的点击事件绑定。

解决方案:在函数上使用jquery 。

改变

$('.row_button').click(function(event) {

});

$(document).on("click",".row_button'",function(event) {

});

jQueryon适用于当前和未来的元素ajax(通过/ 使用 javascript 动态添加新元素新注入的元素)。它在 jQuery 1.7+ 版本中可用。如果您使用的是早期版本的 jQuery,请考虑使用 jquery live (从 jQuery 1.7 开始,不推荐使用 .live() 方法)

于 2012-07-27T14:02:50.267 回答
3

尝试使用此代码代替第二个代码:

$('.row_button').live('click',function(event) {
  ...
});  

Jquery .live为现在和将来匹配当前选择器的所有元素附加一个事件处理程序。


编辑

.live 现在已弃用,因此请使用.on insted

$(document).on("click",".row_button'",function(event) {

});

来自 Jquery 文档:

$(selector).live(events, data, handler);                // jQuery 1.3+
$(document).delegate(selector, events, data, handler);  // jQuery 1.4.3+
$(document).on(events, selector, data, handler);        // jQuery 1.7+
于 2012-07-27T14:02:33.830 回答