操作table的方法写成    live 或者delegate (具体使用方法可以查看文档)

解决方案 »

  1.   

    我加了live还是老问题,初始加载页面可以,但异步更新table中的数据后点击还是没反应,我本意是想做个用GridView控件排序,第一次加载是点击表头可以实现排序,但点下一页table记录重新加载后就不行了,代码如下,也是网上找的,修修改改如下:
     $(document).ready(function() {
            //排序
            sort("MyControl1_GridView1");
    });function sort(tbl_ID) {
        alert("第一步");
        $("#" + tbl_ID).each(function() {
            var $table = $(this);
            alert("第二步");
            $('th', $table).each(function(column) {
                alert("第三步");
                $(this).live("click", function() {
                    var sColumnTitile = $(this).html();                var bSort = ($(this).html().indexOf('▲') > -1);
                    if (bSort) $(this).html(sColumnTitile.replace("▲", "") + '▼');
                    else $(this).html(sColumnTitile.replace("▼", "") + '▲');                var rows = $table.find('tbody > tr').get(); rows.sort(function(a, b) {
                        var keyA = $(a).children('td').eq(column).text().toUpperCase();
                        var keyB = $(b).children('td').eq(column).text().toUpperCase();
                        if (bSort) {
                            if (keyA > keyB) return 1;
                            if (keyA < keyB) return -1;
                        } else {
                            if (keyA < keyB) return 1;
                            if (keyA > keyB) return -1;
                        } return 0;
                    });
                    $.each(rows, function(index, row) { $table.children('tbody').append(row); })
                });
            });
        });
    }
      

  2.   

    f (bSort) {
                            if (keyA > keyB) return 1;
                            if (keyA < keyB) return -1;
                        } else {
                            if (keyA < keyB) return 1;
                            if (keyA > keyB) return -1;
                        } return 0;这个是干嘛的 去掉试试
      

  3.   

    谢谢回复,我试了,不关那一行的事。
    我的代码中加了几个提示的alert,问题是第二次加载table后,点表头一个alter都没出现,说明它根本就没执行这个函数。
      

  4.   

    GridView控件 是不是在ascx 里面呢? 查看源代码 看看ID是不是 不对
      

  5.   

    你用的gridview,其表头可以用SortExpression设置排序<asp:BoundField DataField="devicetype" HeaderText="设备类型" SortExpression="" >