我现在要做一个手工排序,将表格里的行进行上移和下移,js等的页面功能都已完成,但是我不知道怎样入库

author author     2023-03-13     127

关键词:

你试试这个是否可以:
<title>JS表格排序</title>
<script type="text/javascript">
var tableSort = ;
(function()
var oTable = ;
var cellStatus = ;
var sortCells = ;
var limit = ;
var $ = function(id)
return document.getElementById(id);

var objKeyExists = function(key, search)
if (typeof key != 'number' && typeof key != 'string')
return false;

for (k in search)
if (k == key)
return true;


return false;

var _addEvent = function(tableId, cellId)
oTable[tableId].rows[0].cells[cellId].onclick = function()
tableSort.sort(tableId, cellId);


var _addStyle = function(tableId, cellId)
oTable[tableId].rows[0].cells[cellId].style.cursor = 'pointer';

var _addTitle = function(tableId, cellId)
oTable[tableId].rows[0].cells[cellId].title = '点击排序';

var _sortTable = function(tableId, cellId)
var rows = oTable[tableId].tBodies[0].rows;
var _rows = [];
for (var i = 1; i < rows.length; i++)
_rows.push(rows[i]);

var status = -1;
if (objKeyExists(cellId, cellStatus[tableId]))
status = 0 - cellStatus[tableId][cellId];

cellStatus[tableId][cellId] = status;
if (status == 1)
oTable[tableId].rows[0].cells[cellId].innerHTML += ' <span style="font-family:webdings;">5</span>';
_rows.sort((function(id)
return function(a, b)
return _sort(a, b, id);

(cellId)));
else
oTable[tableId].rows[0].cells[cellId].innerHTML += ' <span style="font-family:webdings;">6</span>';
_rows.sort((function(id)
return function(a, b)
return _rsort(a, b, id);

(cellId)));

var oFragment = document.createDocumentFragment();
for (var i = 0; i < _rows.length; i++)
_rows[i].className = i % 2 ? 'tr' : 'tr_spec';
_rows[i].cells[0].className = i % 2 ? 'td_spec2' : 'td_spec1';
if (limit[tableId] > 0)
if (i >= limit[tableId])
_rows[i].style.display = 'none';
else
_rows[i].style.display = '';


oFragment.appendChild(_rows[i]);

oTable[tableId].tBodies[0].appendChild(oFragment);

var _cleanStatus = function(tableId, cellId)
for(var i = 0; i < sortCells[tableId].length; i++)
oTable[tableId].rows[0].cells[sortCells[tableId][i]].innerHTML = oTable[tableId].rows[0].cells[sortCells[tableId][i]].innerHTML.replace(/ <span style=\"font-family\: webdings\">[56]<\/span>$/ig, '');


var _sort = function(a, b, id)
var param1 = a.cells[id].innerText;
var param2 = b.cells[id].innerText;
param1 = param1.replace(/[^\d.-]/g, '');
param2 = param2.replace(/[^\d.-]/g, '');
if (param1 == '-' || param1 == '')
return 1;

if (param2 == '-' || param2 == '')
return -1;

//如果两个参数均为字符串类型
if (isNaN(param1) && isNaN(param2))
return param1.localeCompare(param2);

//如果参数1为数字,参数2为字符串
if (!isNaN(param1) && isNaN(param2))
return -1;

//如果参数1为字符串,参数2为数字
if (isNaN(param1) && !isNaN(param2))
return 1;

//如果两个参数均为数字
if (!isNaN(param1) && !isNaN(param2))
if (Number(param1) > Number(param2))
return 1;

if (Number(param1) == Number(param2))
return 0;

if (Number(param1) < Number(param2))
return -1;


//return a.cells[id].innerText - b.cells[id].innerText;

var _rsort = function(a, b, id)
var param1 = b.cells[id].innerText;
var param2 = a.cells[id].innerText;
param1 = param1.replace(/[^\d.-]/g, '');
param2 = param2.replace(/[^\d.-]/g, '');
if (param1 == '-' || param1 == '')
return -1;

if (param2 == '-' || param2 == '')
return 1;

//如果两个参数均为字符串类型
if (isNaN(param1) && isNaN(param2))
return param1.localeCompare(param2);

//如果参数1为数字,参数2为字符串
if (!isNaN(param1) && isNaN(param2))
return -1;

//如果参数1为字符串,参数2为数字
if (isNaN(param1) && !isNaN(param2))
return 1;

//如果两个参数均为数字
if (!isNaN(param1) && !isNaN(param2))
if (Number(param1) > Number(param2))
return 1;

if (Number(param1) == Number(param2))
return 0;

if (Number(param1) < Number(param2))
return -1;


//return b.cells[id].innerText - a.cells[id].innerText;

tableSort =
init : function(tableId, cells, rows)
oTable[tableId] = $(tableId);
sortCells[tableId] = cells;
cellStatus[tableId] = ;
limit[tableId] = rows ? rows : 0;
for (var i = 0; i < cells.length; i++)
_addEvent(tableId, cells[i]);
_addStyle(tableId, cells[i]);
_addTitle(tableId, cells[i]);

if (rows > 0)
for (var i = 1; i < $(tableId).rows.length; i++)
if (i > rows)
$(tableId).rows[i].style.display = 'none';



,
sort : function(tableId, cellId)
_cleanStatus(tableId, cellId);
_sortTable(tableId, cellId);


)();
</script>
<style type="text/css">
*font-size:12px;
</style>
<table id="t1" width="400" border="1">
<tr>
<td>第一列</td>
<td>第二列</td>
<td>第三列</td>
<td>第四列</td>
<td>第五列</td>
</tr>
<tr>
<td>1</td>
<td>4</td>
<td>-0.1</td>
<td>2009-01-01</td>
<td>-</td>
</tr>
<tr>
<td>2</td>
<td>3</td>
<td>-0.3</td>
<td>2008-01-01</td>
<td>-</td>
</tr>
<tr>
<td>3</td>
<td>2</td>
<td>4</td>
<td>2008-03-01</td>
<td>-</td>
</tr>
<tr>
<td>4</td>
<td>1</td>
<td>-0.1</td>
<td>2009-02-01</td>
<td>-</td>
</tr>
</table>
<br />
<table id="t2" width="400" border="1">
<tr>
<td>第一列</td>
<td>第二列</td>
<td>第三列</td>
<td>第四列</td>
<td>第五列</td>
</tr>
<tr>
<td>1</td>
<td>4</td>
<td>-0.1</td>
<td>2009-01-01</td>
<td>-</td>
</tr>
<tr>
<td>2</td>
<td>3</td>
<td>-0.3</td>
<td>2008-01-01</td>
<td>-</td>
</tr>
<tr>
<td>3</td>
<td>2</td>
<td>4</td>
<td>2008-03-01</td>
<td>-</td>
</tr>
<tr>
<td>4</td>
<td>1</td>
<td>-0.1</td>
<td>2009-02-01</td>
<td>-</td>
</tr>
</table>
<script type="text/javascript">
tableSort.init('t1', [0, 1, 2, 3]);
tableSort.init('t2', [0, 1, 2, 3], 2);
</script>
参考技术A 你可以在表中增加字段--排序,默认值为其ID值,每次显示时以排序字段正序排列,当你调整列表顺序后保存时,可修改其排序字段。例如:
ID 排序字段
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
现将id为2的数据移至id为6的位置,结果为:
ID 排序字段
1 1
3 2
4 3
5 4
6 5
2 6
7 7
8 8
9 9
你需修改id为2-6之内的排序字段值,这就可以了本回答被提问者采纳
参考技术B post或者get到后台的活动页面写进数据库啊 用php或者jsp写都行

jqgrid上移下移单元格(代码片段)

...理就是将表中的行数保存到数据库中,取数据时按行进行排序1、上移,下移按钮<ahref="javascript:void(0)"onclick="operateWithOneRowById(up)"class="linkButton">上移</a><ahref="javascript:void(0)" 查看详情

请教jquery对表格的行操作的。对页面表格进行上下移动位置,删除记录的操作。谢谢。如下补充

型号厂商数量封装批号供应商单价操作asdf原装asdf0123上移下移删除model004原装asdasda011上移下移删除model001信息技术原装dasdas025上移下移删除model002信息技术原装dasdas026上移下移删除model003信息技术原装dasdas011上移下移删除asdasd原装... 查看详情

lind.ddd.domain.isortbehavor~上移与下移

...据库中,对于上移与下移的设计,大叔在LIND.DDD.DOMAIN里有一个ISortBehavor接口,主要是说,如果实体对象支持排序功能,可以实现这个接口,而在扩展库中,将有为本地结果集动态排序(上移和下移)的方法,这个设计类似于ABP项... 查看详情

vue做一个上移和下移,删除的li功能(代码片段)

效果图:思路就是冒泡原理,把数据放到一个空数组,对其进行排序,单选框用到的是iview。具体实现代码:<divv-for="iteminsingledLists":key="item.index">//数组singledLists<Checkbox@on-change="checkSingle":disabled="isDisabled"v-model="item.isRight 查看详情

cdatagridview中怎样把多行数据同时上移或下移

...技术Adatagridview里的内容都是从数据库里取的并且根据sql排序楼主的请求将选中的数据ID改变就行。 查看详情

TableView - 单元格的上移和下移功能

...tyofacell【发布时间】:2015-05-0509:18:07【问题描述】:我有一个TableView的情况。我正在尝试实现一个允许向上或向下移动单元格的功能。向上或向下移动单元格(带有单元格内容)后,我想将焦点更改为单元格的新位置。问题是它... 查看详情

phpmysql排序上移下移

...般按id,,,默认是后入先出,,,新闻排序,你可以见一个排序字段,比如MyOrder,数字类型,,然后MyOrder默认都是1,,然后搜索的时候orderbyMyOrderandtime就行了。然后你排序时改这个order值就行了。。。。参考技术A你好,教程... 查看详情

db2数据库某一个表增加新列后,如何改变该列在表中的排序?表右方的“上移”和“下移”好像都用不了。

select*fromsysibm.COLUMNSwhereTABLE_NAME='表名大写'ORDERBYORDINAL_POSITION;ORDINAL_POSITION就是存储到数据库系统的列顺序,这个好像不能修改,你可以重新表,然后列的顺序和定义时的顺序一样。参考技术A需要把表drop掉重建了,不然列的... 查看详情

上移下移扩展版总结(代码片段)

...点击上移就将当前的按钮的父级上移一位 2)当点击第一个时候将当前按钮的父级移动到最后一位 3)当点击最后一个时候将当前按钮的父级移动到首位4)带过渡动画 需求分析:下移:剪切所点击的条目插入到下一条目... 查看详情

使用jquery实现option的上移和下移

...      (2)判断当前元素是否为第一个元素      (3)如果是,则不执行上移操作,如果不是,则则调用insertBefore方法插入到他的prev(紧邻的上一个)元素之前1varup=function 查看详情

excel里的宏有啥作用?

...令完成某种功能。宏可以简化步骤,提高工作效率。1、现在以如下例子来演示如何设置宏,要为每一行都填充第一个数字,一共有七列,现在只有第一列有数字。2、现在直接点击导航栏中的视图,选择宏,对宏进行定义。3、然... 查看详情

在 QTableView 中移动完整的行

...TableView【发布时间】:2013-07-0206:00:59【问题描述】:我有一个标签,其中包含QtableView和几个按钮,例如“上移”和“下移”。所以在“向上移动”按钮按下时,我必须将QTableView的整行向上移动一步,并将相邻的移动向下移动一... 查看详情

js数组移动上移下移置顶置底,vue实现表格上下移动置底置顶

js操作数组移动 //先封装js数组交换顺序方法/*参数说明arr是要操作的数组index1是准备移动的元素index2是准备移动到的位置往下移就是index2=index+1往上移动就是index2=index+1;这个也可以在页面试试那个方法就指导了,但是置顶和... 查看详情

js实现数组内数据的上移和下移

varswapItems=function(arr,index1,index2){  arr[index1]=arr.splice(index2,1,arr[index1])[0]  returnarr}vararr=[1,2,3]varnewArr=[]upData(arr,index){  if(this.arr.length>1&&index!==0){    newA 查看详情

在PyQt5中上下移动行[重复]

...uplicate]【发布时间】:2020-08-1200:41:36【问题描述】:考虑一个QTableWidget和两个按钮“上移”和“下移”。点击上移,当前行应该上移一行,类似于“下移”。实现相应的上移和下移功能最简单的方法是什么?或者是否可以将此sn-... 查看详情

确定表中输入的行和列索引

...】:我正在创建一个基于javascript的电子表格应用程序。现在我可以动态地将电子表格创建为一个表格,其中包含提供的行数和列数以及每个单元格中的文本输入,如thispicture所示。我希望有一个通用事件与表中的所有输入相关联... 查看详情

angularjs实现数据列表的增加删除和上移下移等功能实例

...章给大家分享了AngularJS循环实现数据列表的增加、删除和上移下移等基础功能,对大家学习AngularJS具有一定的参考借鉴价值,有需要的朋友可以看看。 效果图实例代码<!DOCTYPEhtml><htmllang="en"ng-app="myapp"ng-c 查看详情

问题:使用 jquery 插件 tablesorter 进行表格排序和分页

...用jquery插件tablesorter和pager。排序和分页就像一个魅力。现在我要做的是在单击每个表格单元 查看详情