Javascript 遍历后的JQuery未侦听单击

Javascript 遍历后的JQuery未侦听单击,javascript,jquery,mysql,dom-traversal,Javascript,Jquery,Mysql,Dom Traversal,我使用Jquery从网站加载报告并将其遍历到网站。一切都很好,但是在第一份报告被加载到div之后,任何关于遍历材料的进一步事件都不会被听到。请帮忙 javascript代码: <script> $(function(){ function call_php(str,str2) { if(window.XMLHttpRequest){ // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new X

我使用Jquery从网站加载报告并将其遍历到网站。一切都很好,但是在第一份报告被加载到div之后,任何关于遍历材料的进一步事件都不会被听到。请帮忙

javascript代码:

<script>
$(function(){

function call_php(str,str2) {

    if(window.XMLHttpRequest){
    // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
} else { // code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
} // end xml request object else
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("response").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","func.php?f="+str+"&s="+str2,true)
xmlhttp.send();
}

// listener for class edit
$('.edit').on('click',function(){ 

var mon1 = $('#sel_mon').valueOf();
var yr1 = $('#sel_yr').valueOf();
var mon = mon1+' '+yr1;

call_php(action,mon);

});

});

$(函数(){
函数调用(str,str2){
if(window.XMLHttpRequest){
//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}else{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}//结束xml请求对象
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
document.getElementById(“response”).innerHTML=xmlhttp.responseText;
}
}
open(“GET”、“func.php?f=“+str+”&s=“+str2,true”)
xmlhttp.send();
}
//类编辑的侦听器
$('.edit')。在('click',function(){
var mon1=$('sel#u mon').valueOf();
var yr1=$('sel#u yr').valueOf();
var mon=mon1+“”+yr1;
调用php(action,mon);
});
});
html代码:

<div id="response"> Here is where the content begins</div>
<ul class="edit">Click here for report</ul>
这里是内容的开始
单击此处查看报告
func.php代码:

// connect to DB
// Run query
// handle results
while($stmt->fetch()){
echo '<tr><td>'.$name.'</td><td>'.$age.</td><td><ul class="edit">
Modify this record</td></tr>';

}
//连接到数据库
//运行查询
//处理结果
而($stmt->fetch()){
回显“.$name.”.$age.
    修改此记录'; }
所以基本上这就是问题所在。页面已加载,并且“此处是内容开始的地方”,没有任何问题。然后单击“单击此处查看报告”,报告会在div id=“response”中弹出。div中的新html有一个记录列表,并包含另一个带有class=“edit”的记录列表。问题是,从数据库中提取的数据打印到屏幕后,用户希望通过按打印的每行上的“修改此记录”来修改记录。javascript侦听器没有监听遍历数据上的这些单击,因此浏览器不会采取任何操作

问题是,我如何让jquery在新打印的数据被传输后,监听这些数据的点击。这适用于一个项目,该项目必须从mysql数据库获取数据,并在屏幕上打印数据后,将其修改并更新到mysql数据库


谢谢你的回复

您需要将事件附加到静态父元素

试一试

$("#response").on("event","domElement", function(){
Your stuff...
});

or

 $("#response").on("click",".edit", function(){
Your stuff...
});