ajax动态生成table时,jquery的tablesorter失效问题
在学习php以及laravel框架时,运用了模糊搜索,然后通过ajax动态生成一个新的搜索结果表格,在尝试给搜索后的返回的table添加jquery的tablesorter的相关功能,发现tablesorter遇到动态生成的table会失效,解决办法是加一行代码:
$("#table-list").trigger("update");
这个代码要加在获取所有动态数据之后,对table先执行更新,然后再排序,完整代码如下:
<script type="text/javascript">
$('#search').on('keyup',function(){
$value=$(this).val();
$.ajax({
type : 'get',
url : '{{URL::to('search')}}',
data:{'search':$value},
success:function(data){
$('tbody').html(data);
//更新表格代码需要加在这里,因为这个function是获取所有的数据之后才执行的,所以表格更新代码要放在这个function(data)里面
$("#table-list").trigger("update");
},
});
});
$(function() {
$("#table-list").tablesorter();
});
</script>
这个只是我自己的理解,在对表格更新的时候,会涉及同步异步的问题,自己对javascrip的同步异步问题目前还不算是理解得特别透彻,后面继续研究。