jQuery Tablesorter错误

前端之家收集整理的这篇文章主要介绍了jQuery Tablesorter错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
只是更新到最新的tablesorter,看起来像它的破碎或东西。每次我尝试打开我的页面,Firebug说:

table.config.parsers is undefined

它只是打破了我所有的Javascript。
如果我恢复了tablesorter版本,它可以正常工作。

使用Javascript:

$("#List").tablesorter({ 
    widgets: ['zebra'],headers: { 
        4: { sorter: false }
    }
})

HTML:

<table id="List" class="tablesort ui-widget-content ui-corner-top">
    <thead>
      <tr class="ui-widget">
          <th>Pa&iacute;s</th>
          <th>ISO</th>
          <th>ISO3</th>
          <th>CODE</th>
          <th>&nbsp;</th>
      </tr>
    </thead>
    <tbody>
    </tbody>
</table>

解决方法

我刚刚遇到这个错误,所以我以为我会发布一个回应,以防其他人有麻烦。

虽然上面的答案没有提到,但我能够通过首先实例化tablesorter()来复制错误,然后触发排序请求。

当通过AJAX或以其他方式附加或替换现有的表数据与新数据时,这个事件顺序将是必要的:

// populate our table body with rows
$("#myTable tbody").html(json.tbody);

// let the sorting plugin know that we made a update
$("#myTable").trigger("update");

// set sorting column and direction,this will sort on the first and third column
var sorting = [[2,1],[0,0]];

// sort
$("#myTable").trigger("sorton",[sorting]);

“更新”和“排序”事件的组合似乎触发错误。在处理“sorton”事件的时候,DOM没有被分配给table.config.parsers – 因此是错误的。

修复是在1毫秒超时中包装“sorton”事件处理。

将jquery.tablesorter.js(line〜803)中的现有“sorton”绑定替换为以下内容

}).bind("sorton",function (e,list) {
    var me = this;
    setTimeout(function () {
        $(this).trigger("sortStart");
        config.sortList = list;
        // update and store the sortlist
        var sortList = config.sortList;
        // update header count index
        updateHeaderSortCount(me,sortList);
        // set css for headers
        setHeadersCss(me,$headers,sortList,sortCSS);
        // sort the table and append it to the dom
        appendToTable(me,multisort(me,cache));
    },1);

tablesorter()真的是一个方便的插件。感谢基督徒释放它。

猜你在找的jQuery相关文章