ajax从服务器拿了数据回来循环显示在HTML后不能响应事件

来源:互联网 时间:1970-01-01

ajax从服务器拿了数据回来循环显示在HTML后不能响应事件,有需要的朋友可以参考下。

要做一个查看历史记录的页面,点击那条记录会显示出详情。ajax从服务器拿了记录信息的数据回来,就把记录循环然后appen出来。页面显示没问题,数据库有多少记录全部都显示出来了,但是,点击却该记录没反应。

有人说用unbind,有人说用live,有人说用on,但是试过都没用。后来终于知道问题在哪里了,原来每次循环出来的元素要触发事件是需要绑定的,所以,事件方法应该写在循环里面。

 //循环出所有本月记录。data是服务器返回的数据,为数组。 var datamonth=data['last0data']; $.each(datamonth, function(index, datamonth) {var html= "<li"+" "+"id="+datamonth.sign_id+" "+" class='list-group-item' >"+"<div class='item' style='font-size: 16px' >"+"<div class='datetime' style='float: left;'>"+"<span class='glyphicon glyphicon-list' aria-hidden='true'>"+"</span>"+" "+datamonth.sign_datetime.substring(0,11)+"</div>"+"<div style='float: right'>"+datamonth.user_name+"</div>"+"<div style='clear: both;'>"+"</div>"+"</div>"+"</li>";$("#body").append(html);$("#"+datamonth.sign_id).on("click",function(){ var sign_id=$("#"+datamonth.sign_id).attr("id");var sign_datetime=$("#"+datamonth.sign_id).text().substring(1,11);attendance_check.gettable_sign(sign_id,sign_datetime);}) })


版权声明:本文为博主原创文章,未经博主允许不得转载。



相关阅读:
Top