笔记---手动排序

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

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="${orderHelper.propertyName}"/>
<input type="hidden" id="orderByType" name="orderHelper.type" value="${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 = 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 到后台获取数据
    });
时间: 2024-10-09 10:20:46

笔记---手动排序的相关文章

(一二四)tableView的多组数据展示和手动排序

最近在写一个轻量级的网络游戏,遇到了技能优先顺序手动排序的需求,我就想到了iOS自带的tableView编辑功能,对其进行了初步探索,最后做出的效果如下图所示: 点击左边可以删除,拖住右边可以手动排序,要实现这个功能,分以下步骤. ①用plist存储这些数据,可以看到数据分两个职业,每个职业4个技能,因此建立如下的plist结构: ②因为每个职业除了技能还有名称这个属性,因此应该用职业模型保存一个职业的所有数据,再用一个数组保存所有职业模型,职业模型的定义如下: #import <Foundat

我的读书笔记(排序算法)

1.快速排序 假设待排序的序列为L[m...n],而一趟排序目的就是将其分割为两个子序列,分别为L[m...middle-1]和L[middle+1...n],其中L[m...middle-1]中的每个元素都小于L[middle],而L[middle+1...n]中的每个元素都大于L[middle] 递归调用快速排序算法,对L[m...middle-1]和L[middle+1..n]分别进行排序 由于是原地排序,所以递归结束后就自然形成了有序序列 1 /// <summary> 2 /// 快

算法笔记之排序

最近在看<算法笔记>,如果单从算法来说,这本书真正做到了短小精悍,首先以排序入题,那么我们今天也来说说排序. 排序 将一堆杂乱无章的元素按照某种规则有序排列的过程就叫"排序".排序是一种非常基础的算法,有着广泛的理论和实践基础.对一个排序算法来说,一般从如下3个方面衡量算法的优劣: 时间复杂度:主要是分析关键字的比较次数和记录的移动次数. 空间复杂度:分析排序算法中需要多少辅助内存 稳定性:若两个记录A和B的关键字值相等,但排序后A.B的先后次序保持不变,则称这种算法是稳定

【安全牛学习】笔记手动漏洞挖掘(三)

手动漏洞挖掘 Directory travarsal / File include(有区别/没区别) 目录权限限制不严 / 文件包含 /etc/php5/cgi/php.ini allow_url_include = on 应用程序功能操作文件,限制不严时导致访问WEB目录以外的文件 读.写文件.远程执行代码 特征但不绝对 ?page=a.php ?home=b.html ?file=content [email protected]:~$ ifconfig [email protected]:

数据结构学习笔记06排序 (快速排序、表排序)

1.快速排序 不稳定 分而治之 找主元pivot,小于主元划分为一个子集,大于主元的划分为一个子集 然后进行递归 最好情况:每次主元正好中分,T(N) = O( NlogN ) 选主元 的方法有很多,这里用 取头.中.尾的中位数. 直接选A[0]为pivot,时间复杂度T ( N ) = O( N ) + T ( N–1 ) = O( N ) + O ( N–1 ) + T( N–2 ) = = O( N ) + O ( N–1 ) + …+ O( 1 ) = O( N^2 ) 随机取pivot

SQLCookbook 学习笔记 结果排序

select name from emp order by salary; ORDER BY 默认是按照升序排列, 当需要倒序时 用 ORDRE BY salary DESC ORDER BY  不一定要基于列名 ,也可以用数字表示 基于第几列: select name from emp order by 3;         salary是从左到右第三列. 按照多个字段排序 select * from emp order by depno, salary desc; 按照部门升序,在部门内部按

JAVA学习笔记-二分法排序(增强for循环)

package MyErFenPaiXu; public class Mycode { public static void main(String[] args){ int[] a ={18,63,25,46,3,0,99,1,2}; for(int j=0;j<a.length-1;j++){ //这里的意思为不断的比较,次数只要不小于5次就能遍历出想要的结果. for(int i=0;i<a.length-1-j;i++){ //遍历一次,一个大数会被移到最后的位置. if(a[i]&g

学习笔记--- 比较排序之堆排序

堆排序是一种集合了插入排序与归并排序的优点的排序算法,即有不错的渐近运算上限,又不用占用额外的运行空间.简单的说,它的排序思想如下:从一个数组中选出最大的数,然后在剩余的数里选出最大的数,如此循环,直到数组被穷尽,即可得到有序的数组. 根据这个思路,很容易想到其复杂度:第一步,从n个数里选出最大的数,需要比较n-1次:第二步,从n-1个数里选出最大的数,比较n-2次……那么总共需要比较的次数为:(n-1)+(n-2)+(n-3)+...+2 = O(n^2).这与插入排序的复杂度并无区别. 而堆

Android第一行代码学习笔记---手动创建活动

1.1 手动创建活动 活动是什么:活动(Activity)是最容易吸引用户的地方,它是一种可以包含用户界面的组件,主要用于和用户进行交互.一个应用程序中可以包含零个或多个活动. @1.新建一个Android项目,项目名叫作ActivityTest,包名使用默认名com.example.activity.在图一Add an Activity to Mobile这一步我们勾选Add No Activity,因为我们要手动建立Activity. 图一图二 @2.右击com example activi