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>
分享到:
相关推荐
2. **事件监听**:jQuery的`on()`函数可以用来监听用户交互,如鼠标按下(`mousedown`)、移动(`mousemove`)和释放(`mouseup`)等事件,这些是实现拖动操作的关键。 3. **样式操作**:在拖动过程中,我们需要改变元素...
一旦选择了表格,我们就可以进行一系列的操作,比如添加、删除或修改表格行(`<tr>`)、列(`<td>`)或单元格(`<th>`)。 例如,如果你想要在表格的末尾添加一行,可以使用`append()`函数: ```javascript $("#...
1. **选择表格元素**:使用jQuery的选择器(如`$('table')`)来选取表格元素,可以是整个表格,也可以是特定的行(`$('tr')`),列(`$('td')`)或者单元格(`$('th')`)。 2. **动态插入和删除行/列**:使用`.append()`...
要实现这些功能,开发者通常会使用jQuery选择器来定位表格的行(`tr`)元素,然后使用CSS类或样式来改变它们的背景颜色。例如,可以使用`.even`和`.odd`类来分别标识偶数行和奇数行,然后在CSS中定义这两个类的背景...
<h1 class="datouwang">jQuery表格列自由拖动排序 点击排序"> 序列 点击排序"> 名称 点击排序"> 数量 点击排序"> 单价(Q点) 点击排序"> 总计(Q点) <td>1 农场话费A <td>2 <td>50 <td>100...
总的来说,jQuery表格列表拖动排序的实现结合了DOM操作、事件监听和数据同步等多个JavaScript核心概念。通过学习和实践此类功能,开发者不仅可以提升自身的jQuery技能,还能为用户创造出更加直观、友好的交互体验。
在本文中,我们将深入探讨如何使用jQuery UI库实现一个功能,即允许用户将div元素的值拖拽到HTML表格中。这个功能对于构建交互式、动态的网页界面非常有用,可以提升用户体验,使得数据操作更加直观和便捷。我们将...
本资源“jQuery Table表格排序显示代码.zip”聚焦于利用jQuery实现动态表格排序的功能,这对于数据展示和用户交互至关重要。下面将详细阐述相关知识点。 1. **jQuery基础**:首先,理解jQuery的基础是至关重要的。...
在"jquery表格操作.pdf"中,我们探讨的是如何使用JQuery来增强表格的功能,包括交替显示行、拖动表格行、选择行以及排序等操作。下面将详细讲解这些功能的实现方式。 1. **交替显示行**: 这个功能是通过CSS类的...
2. 初始化表格:使用jQuery选择器找到需要分页的表格,并进行初始化,设置分页参数,如每页显示的行数、分页位置等。 3. 数据源处理:根据所选插件的不同,可能需要配置数据源。如果是Ajax获取数据,需设置URL和...
本主题聚焦于"jquery表格交叉高亮显示",这通常涉及到在用户交互时,如鼠标悬停或点击,动态改变表格单元格的样式,以突出显示特定的行或列。这种效果在数据可视化和分析中非常有用,因为它可以帮助用户快速识别和...
标题 "jquery实现的可增加,删除行,可多行上下移动表格" 描述了一种使用JavaScript库jQuery创建的交互式表格功能。这个功能允许用户在表格中动态添加、删除行,以及上下移动表格中的行,提供了更灵活的数据操作体验...
jQuery提供了丰富的选择器,如ID选择器(`$("#myTable")`),类选择器(`$(".className")`)等,可以方便地获取表格元素。使用`.append()`、`.prepend()`、`.before()`和`.after()`方法可实现元素的插入;`.remove()...
2. **初始化表格**:接着,对表格元素应用`DataTable()`方法,设置分页相关的参数,如每页显示的记录数、分页样式等。 ```html $(document).ready(function() { $('#example').DataTable({ "pageLength": 10, //...
在JavaScript的世界里,jQuery是一个非常流行的库,它简化了DOM操作、事件处理、动画效果以及Ajax交互等任务。本文将深入探讨如何利用jQuery实现数据排序以及在表格中实现颜色交替显示的效果,这两种技术在Web开发...
用户可以根据需要选择显示的数据量,如每页显示10行或25行,而无需一次性加载所有数据。此外,分页通常还配合搜索和排序功能,使用户能够快速定位和过滤所需信息。 再者,jQuery表格控件的国际化特性不容忽视。它...
在本主题中,我们将深入探讨如何使用jQuery动态控制表格的行,包括增加行、选中行和删除行。这在构建数据驱动的Web应用时尤其重要,因为用户通常需要与表格进行交互,例如查看、编辑或删除数据。 首先,让我们讨论...
《jQuery UI表格内容拖拽功能实现详解》 在网页开发中,交互性的增强往往能提升用户的体验感。jQuery UI库提供了丰富的组件和效果,其中就包括了表格内容的拖拽功能。本文将深入探讨如何利用jQuery UI实现表格内容...