jquery排序 jquery.jsort使用 个人记录

JS中方法:

	//排序方法
	function sortRefresh(){
		$('#tableAttrEdit1 tbody').jSort({
			sort_by: "td span.sort",
			is_num: "true",
			item: "tr",
			order: "asc"
		});
	}

jSort插件提供几个参数可配置:

item:指向需要排序的html内容元素,默认为div,本例中是排序div中的内容。

sort_by:指向item内需要排序的元素,默认为p,本例中要排序的是h3.title。

order:排序方式,asc-顺序,desc-倒序,默认为asc。

is_num:是否按按数字大小排序,默认是false。

sort_by_attr:是否按照html元素属性进行排序,默认为false。

attr_name:属性名称,如果sort_by_attr设置为true,则可以按照对应元素的属性进行排序。如果需要排序的是中文字符串,最好设置按照属性进行排序,属性的值可以是字母或者数字之类的。

插件:jquery.jsort.0.4.js

/*
 * jSort - jQury sorting plugin
 * http://do-web.com/jsort/overview
 *
 * Copyright 2011, Miriam Zusin
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://do-web.com/jsort/license
 */

(function($){
   $.fn.jSort = function(options){

	var options = $.extend({
		sort_by: 'p',
		item: 'div',
		order: 'asc', //desc
		is_num: false,
		sort_by_attr: false,
		attr_name: ''
	},options);

	return this.each(function() {
		var hndl = this;
		var titles = [];
		var i = 0;

		//init titles
		$(this).find(options.item).each(function(){

			var txt;
			var sort_by = $(this).find(options.sort_by);

			if(options.sort_by_attr){
				txt = sort_by.attr(options.attr_name).toLowerCase();
			}
			else{
				txt = sort_by.text().toLowerCase();
			}

			titles.push([txt, i]);

			$(this).attr("rel", "sort" + i);
			i++;
		});

		this.sortNum = function(a, b){
			return eval(a[0] -  b[0]);
		};

		this.sortABC = function(a, b){
			return a[0] > b[0] ? 1 : -1;
		};

		if(options.is_num){
			titles.sort(hndl.sortNum);
		}
		else{
			titles.sort(hndl.sortABC);
		}	

		if(options.order == "desc"){
			if(options.is_num){
				titles.reverse(hndl.sortNum);
			}
			else{
				titles.reverse(hndl.sortABC);
			}
		}

		for (var t=0; t < titles.length; t++){
			var el = $(hndl).find(options.item + "[rel='sort" + titles[t][1] + "']");
			$(hndl).append(el);
		}

	});
   };
})(jQuery);
时间: 2024-12-24 21:15:50

jquery排序 jquery.jsort使用 个人记录的相关文章

js,jQuery 排序的实现代码,网页标签排序的实现,标签排序_javascript技巧

js,jQuery 排序的实现: 重点: 想要实现排序,最简单的方法就是 先把标签用jQuery读进对象数组 用js排序好对象数组 (针对对象数组进行排序, 不要试图直接对网页的内容进行直接更改) 用对象数组内容覆盖网页上的标签数组; //排序从文字短的到长的 复制代码 代码如下: //排序从文字短的到长的 var arr_a=new Array(); var i=0; $(".type_list_txt > span:contains('T恤')").parent().chil

基于MVC4+EasyUI的Web开发框架经验总结(1)-利用jQuery Tags Input 插件显示选择记录

最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重构完善过程中,很多细节花费不少时间进行研究和提炼,一步步走过来,也积累了不少经验,本系列将主要介绍我在进一步完善我的Web框架基础上积累的经验进行分享,本随笔主要介绍利用jQuery Tags Input 插件显示选择记录. 我在利用jQuery Tags Input 插件之前,一直想找一个合适的J

页面内容排序插件jSort使用方法_jquery

当页面列表内容很多的时候,我们可能需要将内容按照某个方式进行排序,比如按照字母或者大小等排序.本文将使用排序插件jSort来对页面内容进行排序. jSort插件可以对页面任何内容进行排序(tables, lists, div elements),跨浏览器兼容且非常轻巧. 运行效果图: XHTML 首先在head部分引入jquery库和jSort插件. <script type="text/javascript" src="http://ajax.googleapis.c

jQuery教程:jQuery.noConflict控制冲突

文章简介:谈谈 jQuery 中的防冲突(noConflict)机制. 许多的 JS 框架类库都选择使用 $ 符号作为函数或变量名,jQuery 是其中最为典型的一个.在 jQuery 中,$ 符号只是 window.jQuery 对象的一个引用,因此即使 $ 被删除,window.jQuery 依然是保证整个类库完整性的坚强后盾.jQuery 的 API 设计充分考虑了多框架之间的引用冲突,我们可以使用 jQuery.noConflict 方法来轻松实现控制权的移交. jQuery.noCon

基于jQuery通过jQuery.form.js插件实现异步上传_jquery

本文主要从前台和后台代码分析了jquery.form.js实现异步上传的方法,分享给大家,具体代码如下 前台代码: @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <script src="~/Scripts/jquery-1.7.2.min.j

Jquery.Treeview+Jquery UI制作Web文件预览

效果图: 前台Html: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="_26.QingShan.WebFileViewer._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q

top n-python sqlalchemy 如何实现top写法。想按日期倒排序获取前10条记录。

问题描述 python sqlalchemy 如何实现top写法.想按日期倒排序获取前10条记录. python sqlalchemy 如何实现top写法.想按日期倒排序获取前10条记录. 解决方案 python懂的不多 这是一些积累的资料 希望对你有用啊http://download.csdn.net/album/detail/1239

基于jQuery通过jQuery.form.js插件使用ajax提交form表单_javascript技巧

我们在提交表单的时候,如果没有使用ajax提交,页面都会自己刷新一下,显得非常的不友好,所以我们需要把我们的表单提交修改为ajax的模式,可以让用户清楚地知道他们在提交表单的时候处在哪一个阶段:正在提交?提交成功? 我简单使用了一下,jQuery Form插件有一下优点: 1.支持提交前验证. 2.支持提交后回调. 3.采用AJAX方式,有很好的用户体验 4.提交方式是灵活.只要指定要提交的form ID即可.想提交那个form.就可提交那个.同时提交参数可配置. 5.支持提交多种类型数据.如:

jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载)_jquery

本文实例讲述了jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法.分享给大家供大家参考,具体如下: 该插件是文章作者所写,目的在于提升作者的js能力,也给一些js菜鸟在使用插件时提供一些便利,老鸟就悠然地飞过吧. 此插件旨在实现目前较为流行的拖拽改变元素大小的效果,您可以根据自己的实际需求来设置被拖拽元素的最小宽高和最大宽高.整体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//E