这个功能你要自己写?
自己写很痛苦的,而且还要处理不同浏览器的兼容问题,建议你还是作用JS框架。。EXTjs吧
如果你真要自己写,我愿意讲下我的思路。
首先假设有一个rowUp(trId,rowcounts)方法 ,和一个rowDown(trId,rowcounts)方法,参数是某行的tr的id,参数二是要移动的行数,或者你不用table,用DIV也行。
我会把每行数据看作一个对象,当这个对象中的某个ID需要rowUp/rowDown的时候,我就调这个td的parent的rowUp/rowDown函数
现在再研究下,怎么确定这行要上还是要下
还是用TABLE举例,如果我排序的是第三列,那就应该迭代table的第三列所有td元素,取里面的值,然后进行排序,排序的时候可以 这样做:
假设第一行是3,第二行是1,那么,1这一行可能要放到第一行,
所以它是上移一行那应该调用 函数rowUp(trId_2,1);
这样一直迭代下去。我这只是拿冒泡排序(应该是冒泡吧,我不记得名称了,不用在意这些细节)的思路走的,如果你有更好的算法,可以不用我这个算法思路。。
用extjs吧