0

我有一个问题,首先让我解释一下我希望我的代码做什么。

我有一个带有选择的表单,该表单取决于从上面的选择中选择的数据。

假设表单正在创建一个menu_item

第一个选择应该询问菜单类型的用户。它的选项是 - 单篇文章、文章列表、类别视图。

如果用户选择单篇文章作为选项,则表单应填充下面的选择字段,该字段应显示数据库中的所有文章。与所有其他菜单类型选项类似。

在这一点上,我设法使用 change 方法编写了 jQuery 代码,该方法发布到服务器并根据菜单类型选择在数据库中查询相关的选项列表数据(比如说文章)。并且数据按预期返回。

问题是我仍然希望能够将更改方法绑定到返回的数据,因此我仍然可以使用上面选择的正确文章填充链接字段。

但无论我做什么,都没有任何反应。不管怎样$.change$.click方法对上面返回的数据不起作用。当我使用 firebug 检查 dom 时,我看到插入返回数据的 div 是空白的,即使在浏览器中显示数据也是如此。

如何将 jQuery 事件侦听器绑定到其返回的数据?

返回数据的 html 是从服务器处理的,那么我必须使用从服务器上的数据 html 对侦听器函数的内联调用吗?

请帮忙谢谢。

4

1 回答 1

0

可能原因是您正在使用 .bind 或简单的 .change 方法,用于页面上尚不存在的元素(仅在 ajax 调用之后附加)。

您应该将 .on 方法与委托事件方法一起使用(或者对于 jquery 1.7 及更早版本,您可以使用 .live 方法)

$("#container_div").on("click", "#list_id li", function(event){
    //list element clicked
});
于 2013-07-18T08:38:28.027 回答