Jquery 选中表格一列并对表格排序
2013-01-18 09:16
260 查看
在前端对表格排序的Jquery插件有很多,功能也很强大,比如说Jquery Data Tables对表格的处理就相当强大,可对表格进行排序,搜索,分页等操作,不过没有仔细研究过其实现原理。
为了更好的理解在前端对表格进行排序的原理,也为了进一步的学习Jquery,所以决定用Jquery来实现一个对表格进行排序的小功能。
该实现的主要思想是:获取鼠标点击的表头单元格的列号,遍历数据行,获取每个<tr>中的html,同时获取每个<tr>标签下对应获取到的列号的<td>标签中的内容,并取得<th>标签的type属性值,将获取<tr>的html、<td>的内容和<th>的type属性值拼接成字符串添加到数组array中,然后将表格<tr>中的html全部置空,根据type属性值的不同采用不同的方法对<td>的内容进行比较,根据比较结果对数组array进行排序,然后将排序后的数组元素重新赋值给已经置空的<tr>。如果已经对该列排序过了,则直接对数组进行倒置。提供数值、字符串以及IP地址三种类型的排序规则。字符串类型排序规则采用javascript的localeCompare方法,该方法支持汉字字符串的排序,遗憾的是该方法不兼容谷歌浏览器。所以在谷歌浏览器上汉字字符串的排序结果会不正确。
HTML代码清单:
View
Code
tableSort.js代码清单:
View
Code
运行结果:
排序前
排序后
为了更好的理解在前端对表格进行排序的原理,也为了进一步的学习Jquery,所以决定用Jquery来实现一个对表格进行排序的小功能。
该实现的主要思想是:获取鼠标点击的表头单元格的列号,遍历数据行,获取每个<tr>中的html,同时获取每个<tr>标签下对应获取到的列号的<td>标签中的内容,并取得<th>标签的type属性值,将获取<tr>的html、<td>的内容和<th>的type属性值拼接成字符串添加到数组array中,然后将表格<tr>中的html全部置空,根据type属性值的不同采用不同的方法对<td>的内容进行比较,根据比较结果对数组array进行排序,然后将排序后的数组元素重新赋值给已经置空的<tr>。如果已经对该列排序过了,则直接对数组进行倒置。提供数值、字符串以及IP地址三种类型的排序规则。字符串类型排序规则采用javascript的localeCompare方法,该方法支持汉字字符串的排序,遗憾的是该方法不兼容谷歌浏览器。所以在谷歌浏览器上汉字字符串的排序结果会不正确。
HTML代码清单:
View
Code
tableSort.js代码清单:
View
Code
运行结果:
排序前
排序后
相关文章推荐
- Jquery 选中表格一列并对表格排序实现原理
- Jquery 选中表格一列并对表格排序实现原理
- Jquery 选中表格一列并对表格排序
- Jquery 选中表格一列并对表格排序
- [置顶] Jquery 选中表格一列并对表格排序
- java + jquery-ui.sortable.js插件实现表格拖动排序
- 使用jquery的tablesorter插件进行表格排序
- jQuery表格排序组件-tablesorter
- jQuery 点击tr选中checkbox,并点击checkbox本身也正常,表格练习完工
- jquery如何判断表格同一列不同行input数据是否重复
- jQuery表格选中行变色插件
- jquery 表格排序
- jquery 表格排序、实时搜索表格内容(附图)
- 基于Jquery的表格排序
- jQuery 表格排序插件 Tablesorter 使用
- jQuery表格排序组件-tablesorter使用示例
- JQuery通过AJAX从后台获取信息显示在表格上并支持行选中
- 使用jQuery实现table表格排序js插件
- 扩展jquery实现客户端表格的分页、排序功能代码
- AngularJs+JQuery:模糊查询过滤内容,下拉菜单排序,过滤敏感字符,验证判断后添加表格信息