>  기사  >  웹 프론트엔드  >  jQuery가 테이블을 정렬하는 방법에 대한 자세한 예

jQuery가 테이블을 정렬하는 방법에 대한 자세한 예

黄舟
黄舟원래의
2017-08-11 13:59:201783검색

이 기사에서는 주로 테이블에 대한 jquery 정렬 작업의 예제를 소개합니다. 사용자 정의 속성 data-sort-field-ftime을 추가하고 테이블 헤더에 onchange 이벤트를 추가하여 작업 프로세스를 자세히 설명합니다. 참고하세요

최근 보고서 배열을 정렬하기 위한 프런트엔드 처리는 다음과 같습니다.

먼저 프론트 엔드가 실행될 때 tr의 각 행에 사용자 정의 속성 data-sort-field-ftime을 추가합니다. 페이지가 로드되고 속성 값은 정렬할 값입니다. 필드 값(내 것은 편의상 숫자입니다): data-sort-field-ftime,属性值为要排序的字段的值(我的是数字比较方便):


$.each(jsonarray, function(i, obj) {
          troptions += "<tr data-sort-field-ftime=\""+obj.paiming+"\">";          
          troptions += "<td>"+(Number(obj.cdsPrem)/unitnow).toFixed(dotnow)+"</td>";
          troptions += "<td>"+(Number(obj.cdjPrem)/unitnow).toFixed(dotnow)+"</td>";
          troptions += "<td>"+(Number(obj.sumPrem)/unitnow).toFixed(dotnow)+"</td>";
          troptions += "<td>"+obj.paiming+"</td>";
          troptions += "</tr>";
      });

在要排序的表头添加onchange事件,以下为onchange


//排序处理
  function changepm(){
    var sortType=$("#pm").val();
    var $trList = $("#ta tbody > tr");//获取现有tr对象
    //冒泡排序    
    for (var i = 0; i < $trList.length - 1; i++) {
      for (var j = 0; j < $trList.length - 1 - i; j++) {
        var value1 = parseInt($trList[j].attributes["data-sort-field-ftime"].nodeValue); 
        var value2 = parseInt($trList[j + 1].attributes["data-sort-field-ftime"].nodeValue);
        if (sortType === "asc" ? value1 > value2 : value1 < value2) {
          var $temp = $trList[j];
          $trList[j] = null;
          $trList[j] = $trList[j + 1];
          $trList[j + 1] = null;
          $trList[j + 1] = $temp;
        }
      }
    }           
    //返回排序后的tr集合
    //将原来的tr清空,再将排序后的tr插入到table的dom中
    console.log($trList);
    $trList.appendTo($("#ta > tbody").empty());
  }

정렬할 테이블 헤더에 onchange 이벤트를 추가합니다. onchange 이벤트: 🎜🎜🎜🎜rrreee

위 내용은 jQuery가 테이블을 정렬하는 방법에 대한 자세한 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.