`
ljjr13
  • 浏览: 22064 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

JQuery 表格操作(交替显示、拖动表格行、选择行等)

阅读更多
JQuery 表格操作包括交替显示、拖动表格行、选择行等功能,大家可以参考下。 JQuery 确实很方便,简单(的)代码,却能实现一些不错(的)功能。
手动复制 代码如下:
<script type='text/javascript'><!-- 
$(function(){ 
//交替显示行 
$('#alternation').click(function(){ 
$('tbody > tr:odd', $('#example')).toggleClass('alternation'); 
}); 

//三色交替显示行 
$('#alternationThree').click(function(){ 
$('tbody > tr:nth-child(3n)', $('#example')).toggleClass('alternation'); 
$('tbody > tr:nth-child(3n+2)', $('#example')).toggleClass('alternation3'); 
}); 

//选择行 
$('#selectTr').click(function(){ 
//为表格行添加选择事件处理 
$('tbody > tr', $('#example')).click(function(){ 
$('.selected').removeClass('selected'); 
$(this).addClass('selected'); //this 表示引发事件(的)对象,但它们不是 jquery 对象 
}).hover( //注意这里(的)链式调用 
function(){ 
$(this).addClass('mouseOver'); 
}, 
function(){ 
$(this).removeClass('mouseOver'); 
} 
); 
}); 

//增加排序功能 
$('#sort').click(tableSort); 

//获取排好序后(的)主键值 
$('#getSequence').click(function(){ 
var sequence = []; 
$('#content input[name=noticeSelect]').each(function(){ 
sequence.push(this.value); 
}); 
alert(sequence.join(',')); 
}); 

//获取表格中已选择(的)复选框(的)值集合 
$('#getSelected').click(function(){ 
var sequence = []; 
$('#content input[name=noticeSelect]:checked').each(function(){ 
sequence.push(this.value); 
}); 
alert(sequence.join(',')); 
}); 

//按日期降序排列 
$('#dateDesc').click(descByDate); 
}); 

//表格排序 
function tableSort() 
{ 
var tbody = $('#example > tbody'); 
var rows = tbody.children(); 
var selectedRow; 
//压下鼠标时选取行 
rows.mousedown(function(){ 
selectedRow = this; 
tbody.css('cursor', 'move'); 
return false; //防止拖动时选取文本内容,必须和 mousemove 一起使用 
}); 
rows.mousemove(function(){ 
return false; //防止拖动时选取文本内容,必须和 mousedown 一起使用 
}); 
//释放鼠标键时进行插入 
rows.mouseup(function(){ 
if(selectedRow) 
{ 
if(selectedRow != this) 
{ 
$(this).before($(selectedRow)).removeClass('mouseOver'); //插入 
} 
tbody.css('cursor', 'default'); 
selectedRow = null; 
} 
}); 
//标示当前鼠标所在位置 
rows.hover( 
function(){ 
if(selectedRow && selectedRow != this) 
{ 
$(this).addClass('mouseOver'); //区分大小写(的),写成 'mouseover' 就不行 
} 
}, 
function(){ 
if(selectedRow && selectedRow != this) 
{ 
$(this).removeClass('mouseOver'); 
} 
} 
); 

//当用户压着鼠标键移出 tbody 时,清除 cursor (的)拖动形状,以前当前选取(的) selectedRow 
tbody.mouseover(function(event){ 
event.stopPropagation(); //禁止 tbody (的)事件传播到外层(的) div 中 
}); 
$('#contain').mouseover(function(event){ 
if($(event.relatedTarget).parents('#content')) //event.relatedTarget: 获取该事件发生前鼠标所在位置处(的)元素 
{ 
tbody.css('cursor', 'default'); 
selectedRow = null; 
} 
}); 
} 

//按日期降序排列 
function descByDate() 
{ 
var descElements = $('#content > tr').get().sort(function(first, second){ 
var f = $('td:eq(4)', first).html(); //first = $('td:eq(4)', first).html();IE 下会有问题,FF 正常,下同 
var s = $('td:eq(4)', second).html(); 
if(f < s) 
return 1; 
if(f == s) 
return 0; 
return -1; 
}); 
$(descElements).appendTo('#content'); 
} 
// --></script>
 
HTML:
手动复制 代码如下:
<table id='example' style="width:650px; border-collapse:collapse;"> 
<thead style="text-align:center;" style="text-align:center;"> 
<tr><td colspan='5'>公告列表</td></tr> 
<tr> 
<th style="width:50px;">選擇</th> 
<th style="width:50px;">序號</th> 
<th style="width:300px;">標題</th> 
<th style="width:100px;">關鍵詞</th> 
<th style="width:150px;">發布日期</th> 
</tr> 
</thead> 
<tbody id='content'> 
<tr> 
<td style="text-align:center;" style="text-align:center;"><input type='checkbox' name='noticeSelect' value='1' /></td> 
<td style="text-align:center;" style="text-align:center;">01</td> 
<td>微軟在 VS 2008 中引入了 jquery</td> 
<td>Microsoft</td> 
<td>2009-01-02 10:30</td> 
</tr> 
<tr> 
<td style="text-align:center;" style="text-align:center;"><input type='checkbox' name='noticeSelect' value='2' /></td> 
<td style="text-align:center;" style="text-align:center;">02</td> 
<td>Linux微软Sun将探讨操作系统(的)未来</td> 
<td>Sun</td> 
<td>2009-01-03 09:30</td> 
</tr> 
<tr> 
<td style="text-align:center;" style="text-align:center;"><input type='checkbox' name='noticeSelect' value='3' /></td> 
<td style="text-align:center;" style="text-align:center;">03</td> 
<td>联想集团董事长柳传志:联想将在一年内成功</td> 
<td>聯想</td> 
<td>2009-01-05 14:30</td> 
</tr> 
<tr> 
<td style="text-align:center;" style="text-align:center;"><input type='checkbox' name='noticeSelect' value='4' /></td> 
<td style="text-align:center;" style="text-align:center;">04</td> 
<td>美议员要求立法限制Google(地)球 违反将日罚25万</td> 
<td>Google</td> 
<td>2009-01-10 20:45</td> 
</tr> 
<tr> 
<td style="text-align:center;" style="text-align:center;"><input type='checkbox' name='noticeSelect' value='5' /></td> 
<td style="text-align:center;" style="text-align:center;">05</td> 
<td>FireFox实验室提出新标签页理念并发布原始模型</td> 
<td>FireFox</td> 
<td>2009-01-14 17:58</td> 
</tr> 
<tr> 
<td style="text-align:center;" style="text-align:center;"><input type='checkbox' name='noticeSelect' value='6' /></td> 
<td style="text-align:center;" style="text-align:center;">06</td> 
<td>向Ruby之父学程序设计</td> 
<td>Ruby</td> 
<td>2009-01-19 07:22</td> 
</tr> 
<tr> 
<td style="text-align:center;" style="text-align:center;"><input type='checkbox' name='noticeSelect' value='7' /></td> 
<td style="text-align:center;" style="text-align:center;">07</td> 
<td>Apple智能手机市场份额翻番达10.7%</td> 
<td>Apple</td> 
<td>2009-01-21 10:44</td> 
</tr> 
<tr> 
<td style="text-align:center;" style="text-align:center;"><input type='checkbox' name='noticeSelect' value='8' /></td> 
<td style="text-align:center;" style="text-align:center;">08</td> 
<td>联发科助力 Windows Mobile加入山寨大军</td> 
<td>联发科</td> 
<td>2009-01-22 16:37</td> 
</tr> 
<tr> 
<td style="text-align:center;" style="text-align:center;"><input type='checkbox' name='noticeSelect' value='9' /></td> 
<td style="text-align:center;" style="text-align:center;">09</td> 
<td>Nokia(的)开源Qt开发工具4.5版发布</td> 
<td>Nokia</td> 
<td>2009-01-28 14:08</td> 
</tr> 
<tr> 
<td style="text-align:center;" style="text-align:center;"><input type='checkbox' name='noticeSelect' value='10' /></td> 
<td style="text-align:center;" style="text-align:center;">10</td> 
<td>GCC将接受IBM代码支持自动平行优化</td> 
<td>IBM</td> 
<td>2009-02-01 21:14</td> 
</tr> 
</tbody> 
</table> 
 
分享到:
评论
1 楼 dolphin0618 2013-05-22  
代码呢?怎么不传上来?

相关推荐

    jquery表格操作.pdf

    在"jquery表格操作.pdf"中,我们探讨的是如何使用JQuery来增强表格的功能,包括交替显示行、拖动表格行、选择行以及排序等操作。下面将详细讲解这些功能的实现方式。 1. **交替显示行**: 这个功能是通过CSS类的...

    表头拖动效果|表格隔行换色效果|大气的表格样式|选择行底色突出显示

    3. **选择行底色突出显示**:这种功能在数据操作中特别有用,例如在数据筛选或编辑时。当用户选择某一行时,可以通过改变行的背景色来突出显示,这样可以清楚地标识出当前选中的项。这通常通过JavaScript实现,当...

    jQuery制作网页表格数据优化插件.zip

    为了提升用户体验,可以使用jQuery对表格进行样式上的美化,如交替行背景色、悬停高亮显示等。对于复杂的数据表格,还可以添加一些高级功能,比如固定表头、滚动条同步等。 在数据优化方面,涉及到的技巧包括但不...

    JQuery-tableDnD 拖拽的基本使用介绍

    JQuery-tableDnD 是一个基于 jQuery 的库,专门用于实现表格行的拖放功能,让用户可以方便地通过鼠标操作来重新排序表格数据。在网页开发中,这种交互性可以提高用户体验,特别是在需要用户自定义顺序或者管理列表的...

Global site tag (gtag.js) - Google Analytics