首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JQuery中创建动态html表后,应用另一个JQuery (表排序程序)

在JQuery中创建动态html表后,应用另一个JQuery (表排序程序)
EN

Stack Overflow用户
提问于 2011-11-09 21:15:08
回答 2查看 1.8K关注 0票数 2

我已经用JQuery从PHP的JSON数据创建了超文本标记语言表格。创建表后,我尝试附加表排序(JQuery),但它不起作用。如何解决?代码如下:

代码语言:javascript
复制
<script type="text/javascript">
$(document).ready(function() {
        $.getJSON('listnotice.php', function(data) {     

            var table = "";
            $.each(data, function(index,entry) {
                table += '<tr>';
                table += '<td>' +entry["title"] + '</td>';
                table += '<td>' +entry["content"] + '</td>';
                table += '<td>' +entry["date"] + '</td>';
                table += '</tr>';
            });

            table += "</tbody>";
            $("#noticeList").append(table);
           });   

        $("#noticeList").tablesorter({debug: false, widgets: ['zebra'], sortList: [[0,0]]}).tablesorterFilter({filterContainer: $("#filter-box"),
                          filterClearContainer: $("#filter-clear-button"),
                          filterColumns: [0],
                          filterCaseSensitive: false});
});
</script>

</head>
<body>
    <table id="noticeList">
        <thead><tr><th>1</th><th>2</th><th>3</th></tr></thead><tbody>

    </tablev>
</body>
</html>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-09 21:19:09

您需要在构建表的同一回调中应用表排序。getJSON调用是异步的,现在的方法是在调用返回并构建表之前应用tablesorter。

代码语言:javascript
复制
$.getJSON('listnotice.php', function(data) {     

    var table = "";
    $.each(data, function(index,entry) {
        table += '<tr>';
        table += '<td>' +entry["title"] + '</td>';
        table += '<td>' +entry["content"] + '</td>';
        table += '<td>' +entry["date"] + '</td>';
        table += '</tr>';
    });

    table += "</tbody>";
    $("#noticeList").append(table)
                    .tablesorter({debug: false, widgets: ['zebra'], sortList [[0,0]]}).tablesorterFilter({filterContainer: $("#filter-box"),
                          filterClearContainer: $("#filter-clear-button"),
                          filterColumns: [0],
                          filterCaseSensitive: false});
}); 
票数 1
EN

Stack Overflow用户

发布于 2011-11-09 21:20:00

.tablesorter()插件被调用时,ajax请求仍然在执行。如果您在成功处理程序中移动表排序器,它应该可以工作。

试试这个:

代码语言:javascript
复制
$(document).ready(function() {
    $.getJSON('listnotice.php', 
        function(data) {     
            var table = "";
            $.each(data, function(index,entry) {
                table += '<tr>';
                table += '<td>' +entry["title"] + '</td>';
                table += '<td>' +entry["content"] + '</td>';
                table += '<td>' +entry["date"] + '</td>';
                table += '</tr>';
            });
            table += "</tbody>";

            $("#noticeList").append(table).tablesorter({debug: false, widgets: ['zebra'], sortList: [[0,0]]}).tablesorterFilter({filterContainer: $("#filter-box"),
                      filterClearContainer: $("#filter-clear-button"),
                      filterColumns: [0],
                      filterCaseSensitive: false});         
        }
    );
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8065546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档