为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的表排序器仅在某些列上起作用?

为什么我的表排序器仅在某些列上起作用?

海绵宝宝撒 2021-04-26 12:33:55
我有一个表排序器功能,该功能仅在某些列上有效,并且仅在单击任何内容时才对第一列进行正确排序。但是,如果我单击first和last,它将以一种难以理解的方式对表格进行排序。我是JavaScript的新手,即使我能够解决一些问题,也无法使其正常工作100%。这是我的小提琴:https : //jsfiddle.net/m_tibo/0t83no14/4/这是我的功能:// TABLESORTERfunction accordionTable(i, elem) {  var table = $(elem),    tbody = table.find('tbody'),    th_index = 0,    th_sortType = "int";  function mapTDs(i, elem) {    var txt = $("td", elem).eq(th_index).text();    $(elem).attr("data-sort", txt);  }  function sortAsc(a, b) {    var aData = $(a).attr("data-sort"),      bData = $(b).attr("data-sort");    if (th_sortType == "string") {      return +bData < +aData ? 1 : -1; // Integer    } else {      return bData < aData ? 1 : -1; // String or else    }  }  //header sort  table.on("click", "th", function() {    th_sortType = $(this).data('sort');    th_index = $(this).index();    tbody = table.find('tbody').each(mapTDs);    tbody.sort(sortAsc).detach().appendTo(table);  });}$('table').each(accordionTable);我从功能中期望的是对每列上的表进行升序和降序排序。非常感谢您的帮助。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 182 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信