首页 > 代码库 > 笔记---手动排序

笔记---手动排序

表格 列表格  点击实现 升序和降序:

1.定义一个排序字段数组  和 表格th标题列一一对应,如  var arr = [1,2,3,4]。 定义一个隐藏域,用来保存  排序的字段  和排序的类型,每次单击 修改这2个字段。

2.th增加单击事件,获取当前单机的列 在总个列中的下标:var index = $("#moreFoilDetail tr:eq(0) th").index($(this))

3.取当前下标,从排序字段数组中 取出对应的字段,

核心代码如下:

<input type="hidden" id="orderByProperty" name="orderHelper.propertyName" value="http://www.mamicode.com/${orderHelper.propertyName}"/>
<input type="hidden" id="orderByType" name="orderHelper.type" value="http://www.mamicode.com/${orderHelper.type}"/>


//列头 var vwStatisticalAnalysisColumns = new Array("航班日期","航班号","机尾号","机型","公司","飞行员","起飞站","落地站","起飞时间","降落时间","实际加油量","计划加油量","多加油量"); //排序属性 var vwStatisticalAnalysisOrderparamters = new Array("planStrDtTmGmt","fltNum","tailNum","latestEqpCd","fcapPbase","fcap","actPortA","actPortB","actStrDtTmGmt","actEndDtTmGmt","actualFuel","loadFuel","moreFoilFuel"); //排序 $("#moreFoilDetail tr:eq(0) th").die().live("click",function(){//修改成这样的写法 var index = $("#moreFoilDetail tr:eq(0) th").index($(this));//得到当前点击 的列的下标 var chioseValue =http://www.mamicode.com/ vwStatisticalAnalysisOrderparamters[index]; var orderBy = $("#orderByProperty").val(); if(orderBy == ""){//如果为空 $("#orderByProperty").val(chioseValue); $("#orderByType").val("ASC"); }else if(orderBy.indexOf(chioseValue)!= -1){//如果字段相等 $("#orderByProperty").val(chioseValue); if($("#orderByType").val().indexOf("DESC")!= -1){//如果是降序 $("#orderByType").val("ASC"); }else{ $("#orderByType").val("DESC"); } }else{//字段不等,默认 $("#orderByProperty").val(chioseValue); $("#orderByType").val("ASC"); } //searchInfo(); 发送ajax 到后台获取数据 });

 

笔记---手动排序