Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery可以';在ajx加载事件中,无法从新div访问原始jquery对象_Jquery_Ajax_Html - Fatal编程技术网

Jquery可以';在ajx加载事件中,无法从新div访问原始jquery对象

Jquery可以';在ajx加载事件中,无法从新div访问原始jquery对象,jquery,ajax,html,Jquery,Ajax,Html,我有一个页面,其中有一堆JQuery对象。在同一个页面上,我有一个表单,您可以在一系列字段中输入搜索词并单击搜索按钮,然后将AJAX请求发送到服务器,然后将生成的HTML加载到div中。一个非常简单的Jquery应用程序 问题是这个。当您单击通过ajax加载到div中的搜索结果链接时,原始页面上的Jquery代码将不会触发。例如,如果我在原始页面上添加一个名为searchClick()的函数,那么我会在每个 单击上面示例中的链接将产生searchClick()未定义错误。 有人有什么建议吗?谢

我有一个页面,其中有一堆JQuery对象。在同一个页面上,我有一个表单,您可以在一系列字段中输入搜索词并单击搜索按钮,然后将AJAX请求发送到服务器,然后将生成的HTML加载到div中。一个非常简单的Jquery应用程序

问题是这个。当您单击通过ajax加载到div中的搜索结果链接时,原始页面上的Jquery代码将不会触发。例如,如果我在原始页面上添加一个名为searchClick()的函数,那么我会在每个

单击上面示例中的链接将产生searchClick()未定义错误。 有人有什么建议吗?谢谢大家!

一开始会让您的生活更轻松,因为您不必自己添加onclick处理程序。相反,您可以绑定一个事件处理程序,该事件处理程序也将应用于后来添加到DOM中的元素(例如通过AJAX调用)

至于你的问题,我没有解释。尝试使用Firebug之类的工具监视html源代码和DOM结构

$("#search").live("click", function()
{
    var description = urlencode($("#description").val());
    var manufacturer = urlencode($("#manufacturer").val());
    var product = urlencode($("#product").val());
    var category = urlencode($("#category").val());
    var subcategory = urlencode($("#subcategory").val());

   $.ajax
   ({
        type: "GET",
        url: "/productSearch.php",
        data: 'description=' + description + '&product=' + product + '&category=' + category +"&subcategory=" + subcategory,
        success: function(result)
        {   
            $("#search_result").html(result);
        }
    });
});
使用事件添加新元素时,新元素仍会对事件作出反应。 不要使用

<a href="#" onclick="s**earchClick("some value")"**>Product 1</a>

这是糟糕的形式

<a href="#" onclick="s**earchClick("some value")"**>Product 1</a>
$("#search").live("click", function()
{
    var description = urlencode($("#description").val());
    var manufacturer = urlencode($("#manufacturer").val());
    var product = urlencode($("#product").val());
    var category = urlencode($("#category").val());
    var subcategory = urlencode($("#subcategory").val());

   $.ajax
   ({
        type: "GET",
        url: "/productSearch.php",
        data: 'description=' + description + '&product=' + product + '&category=' + category +"&subcategory=" + subcategory,
        success: function(result)
        {   
            $("#search_result").html(result);
        }
    });
});
<a href="#" onclick="s**earchClick("some value")"**>Product 1</a>