Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.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、php和Ajax问题:Can';不要使动态链接加载动态内容_Php_Jquery_Ajax - Fatal编程技术网

jQuery、php和Ajax问题:Can';不要使动态链接加载动态内容

jQuery、php和Ajax问题:Can';不要使动态链接加载动态内容,php,jquery,ajax,Php,Jquery,Ajax,有一个很好的例子,它让我使用jQuery、PHP和Ajax浏览了一个简单的搜索/结果列表 我能让它工作,它真的很酷 一个问题。我希望结果是超链接,但我无法在结果上运行任何java脚本 以下是我的脚本(包括教程中的内容,以及覆盖超链接所需的附加脚本,单击行为): $(文档).ready(函数(){ $(“#搜索结果”).slideUp(); $(“#搜索按钮”)。单击(功能(e){ e、 预防默认值(); ajax_search(); }); $(“#搜索词”).keyup(函数(e){ e、

有一个很好的例子,它让我使用jQuery、PHP和Ajax浏览了一个简单的搜索/结果列表

我能让它工作,它真的很酷

一个问题。我希望结果是超链接,但我无法在结果上运行任何java脚本

以下是我的脚本(包括教程中的内容,以及覆盖超链接所需的附加脚本,单击行为):


$(文档).ready(函数(){
$(“#搜索结果”).slideUp();
$(“#搜索按钮”)。单击(功能(e){
e、 预防默认值();
ajax_search();
});
$(“#搜索词”).keyup(函数(e){
e、 预防默认值();
ajax_search();
});
$(“a”)。单击(单击拦截器);
});
函数ajax_search(){
$(“#搜索结果”).show();
var search_val=$(“#search_term”).val();
$.post(“./find.php”,{search\u term:search\u val},函数(数据){
如果(数据长度>0){
$(“#搜索结果”).html(数据);
}
})
}
函数ClickInterceptor(e)
{
窗口。警报(“Hellow World!”);
返回false;
}
如果我将以下html放在
标记下:

<a href="test">this will work</a>

这将显示警报窗口

但是,如果我将结果更改为超链接(在教程的清单7中的find.php中找到):

$string.=“-”;
它不起作用


您知道如何解决此问题吗?

运行
单击
函数时会绑定。你需要把它改成一个

或者,在更新搜索结果时,您可以将以下内容放在
$(“#search_results”).html(数据)
之后进行绑定:


问题其实很简单,
$(“a”)。单击(ClickInterceptor)将只查找DOM中当前存在的项。您只需将该行更改为:

$("a").live("click", ClickInterceptor);

我还建议你花点时间多读一读。

显然,我没有足够的声望去投票。但换成实时绑定就成功了。我相信其他人也会的。太好了!
$string .= "<a href=\"test\">".$row->name."</a> - "; 
$("a").live("click", ClickInterceptor);
$("#search_results a").click(ClickInterceptor);
$("a").live("click", ClickInterceptor);