在jquery.ajax添加元素上使用jquery.select怀疑种族问题

时间:2011-05-06 07:45:50

标签: jquery jquery-selectors

我有一个jquery-ajax(让我们称之为#1)函数绑定到由jquery.ajax(称之为#2)本身添加的链接。连接到链接的函数(#1)在文档中添加时会触发,因此函数(#1)没问题。

问题似乎是绑定到链接的jquery.ajax(#1)函数在加载时没有找到链接,当链接通过jquery.ajax(#2)加载时为时已晚。

我怎样才能克服这个?

JS

$("a[name='searchCatalogue']").click(function(){
        var q = $("#query").val();
        $("#searchResults").html(ajax_load).load("search_data.php", {q:q});
});
$("a[name*='add-']").click(function(){
        var divname = this.name;
        var a = $("#field-"+divname).val();
        $("#materialLista").html(ajax_load).load("handler.php", {fetched_isbn:a});
});

通过search_data.php添加功能(#1):

<input type="text" id="field-add-'.$m.'" value="' . $resultat[$m]["value"] . '" /><a name="add-'.$m.'">Add</a>

如果在文档中“定期”添加上述内容(而不是使用功能(#2),则功能(#1)可以正常工作。

1 个答案:

答案 0 :(得分:1)

您可以使用live..click代替click。所以你有:

$("a[name='searchCatalogue']").live("click", function(){
        var q = $("#query").val();
        $("#searchResults").html(ajax_load).load("search_data.php", {q:q});
});
$("a[name*='add-']").live("click", (function(){
        var divname = this.name;
        var a = $("#field-"+divname).val();
        $("#materialLista").html(ajax_load).load("handler.php", {fetched_isbn:a});
});

希望这会有所帮助。干杯