`
ljjr13
  • 浏览: 21765 次
  • 性别: 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表格可拖动调整列宽度大小

    2. **事件监听**:jQuery的`on()`函数可以用来监听用户交互,如鼠标按下(`mousedown`)、移动(`mousemove`)和释放(`mouseup`)等事件,这些是实现拖动操作的关键。 3. **样式操作**:在拖动过程中,我们需要改变元素...

    jquery表格操作实例

    一旦选择了表格,我们就可以进行一系列的操作,比如添加、删除或修改表格行(`&lt;tr&gt;`)、列(`&lt;td&gt;`)或单元格(`&lt;th&gt;`)。 例如,如果你想要在表格的末尾添加一行,可以使用`append()`函数: ```javascript $("#...

    jquery 操作表格

    1. **选择表格元素**:使用jQuery的选择器(如`$('table')`)来选取表格元素,可以是整个表格,也可以是特定的行(`$('tr')`),列(`$('td')`)或者单元格(`$('th')`)。 2. **动态插入和删除行/列**:使用`.append()`...

    jQuery插件 表格奇偶交替,加亮显示

    要实现这些功能,开发者通常会使用jQuery选择器来定位表格的行(`tr`)元素,然后使用CSS类或样式来改变它们的背景颜色。例如,可以使用`.even`和`.odd`类来分别标识偶数行和奇数行,然后在CSS中定义这两个类的背景...

    jQuery表格列自由拖动排序.zip

    &lt;h1 class="datouwang"&gt;jQuery表格列自由拖动排序 点击排序"&gt; 序列 点击排序"&gt; 名称 点击排序"&gt; 数量 点击排序"&gt; 单价(Q点) 点击排序"&gt; 总计(Q点) &lt;td&gt;1 农场话费A &lt;td&gt;2 &lt;td&gt;50 &lt;td&gt;100...

    jQuery表格列表拖动排序代码.zip

    总的来说,jQuery表格列表拖动排序的实现结合了DOM操作、事件监听和数据同步等多个JavaScript核心概念。通过学习和实践此类功能,开发者不仅可以提升自身的jQuery技能,还能为用户创造出更加直观、友好的交互体验。

    jQueryUI拖拽效果_拖拽div的值到table表格里面

    在本文中,我们将深入探讨如何使用jQuery UI库实现一个功能,即允许用户将div元素的值拖拽到HTML表格中。这个功能对于构建交互式、动态的网页界面非常有用,可以提升用户体验,使得数据操作更加直观和便捷。我们将...

    jQuery Table表格排序显示代码.zip

    本资源“jQuery Table表格排序显示代码.zip”聚焦于利用jQuery实现动态表格排序的功能,这对于数据展示和用户交互至关重要。下面将详细阐述相关知识点。 1. **jQuery基础**:首先,理解jQuery的基础是至关重要的。...

    jquery表格操作.pdf

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

    jquery插件--表格分页

    2. 初始化表格:使用jQuery选择器找到需要分页的表格,并进行初始化,设置分页参数,如每页显示的行数、分页位置等。 3. 数据源处理:根据所选插件的不同,可能需要配置数据源。如果是Ajax获取数据,需设置URL和...

    jquery表格交叉高亮显示.rar

    本主题聚焦于"jquery表格交叉高亮显示",这通常涉及到在用户交互时,如鼠标悬停或点击,动态改变表格单元格的样式,以突出显示特定的行或列。这种效果在数据可视化和分析中非常有用,因为它可以帮助用户快速识别和...

    jquery实现的可增加,删除行,可多行上下移动表格

    标题 "jquery实现的可增加,删除行,可多行上下移动表格" 描述了一种使用JavaScript库jQuery创建的交互式表格功能。这个功能允许用户在表格中动态添加、删除行,以及上下移动表格中的行,提供了更灵活的数据操作体验...

    jquery操作表格增加删除

    jQuery提供了丰富的选择器,如ID选择器(`$("#myTable")`),类选择器(`$(".className")`)等,可以方便地获取表格元素。使用`.append()`、`.prepend()`、`.before()`和`.after()`方法可实现元素的插入;`.remove()...

    使用jquery实现表格动态分页

    2. **初始化表格**:接着,对表格元素应用`DataTable()`方法,设置分页相关的参数,如每页显示的记录数、分页样式等。 ```html $(document).ready(function() { $('#example').DataTable({ "pageLength": 10, //...

    基于JQuery的js排序与表格颜色交替显示

    在JavaScript的世界里,jQuery是一个非常流行的库,它简化了DOM操作、事件处理、动画效果以及Ajax交互等任务。本文将深入探讨如何利用jQuery实现数据排序以及在表格中实现颜色交替显示的效果,这两种技术在Web开发...

    jquery表格控件

    用户可以根据需要选择显示的数据量,如每页显示10行或25行,而无需一次性加载所有数据。此外,分页通常还配合搜索和排序功能,使用户能够快速定位和过滤所需信息。 再者,jQuery表格控件的国际化特性不容忽视。它...

    jquery动态控制表格的行

    在本主题中,我们将深入探讨如何使用jQuery动态控制表格的行,包括增加行、选中行和删除行。这在构建数据驱动的Web应用时尤其重要,因为用户通常需要与表格进行交互,例如查看、编辑或删除数据。 首先,让我们讨论...

    jQuery UI表格内容拖拽代码.zip

    《jQuery UI表格内容拖拽功能实现详解》 在网页开发中,交互性的增强往往能提升用户的体验感。jQuery UI库提供了丰富的组件和效果,其中就包括了表格内容的拖拽功能。本文将深入探讨如何利用jQuery UI实现表格内容...

Global site tag (gtag.js) - Google Analytics