我有一个情况,我需要在一个有n行的表中实现这一点。如果我单击表格中的一行,然后单击另一行。第一次单击行中的内容应转到第二次单击行中的内容,然后每行应向后或向前移动。这可以等同于JQUERY sortable。
示例:
|1|2|3|4| if i click on 1 and 4 then it should be |2|3|4|1|
如何记录两次点击,我的行内容是包含许多输入元素的div元素。我想到了这个想法,这是实现可排序的好方法,还是有更好的方法,我想用java脚本来做。
提前感谢。
答案 0 :(得分:1)
我的脚本功能是这样的。我真的应该想一会儿。我在这里使用了旗帜,我还有两个问题,我可以用旗帜做到吗?有更好的方法吗?
<script>
var flag=0;
var id1;
var id2;
function Myfunction(id)
{
if(flag==0)
{
id1=id;
flag=1;
}
else
{
id2=id;
var x=document.getElementById(id1).innerHTML;
var num1=parseInt(id1);
var num2=parseInt(id2);
for(var i=num1;i<num2;i++)
{
var j=i.toString();
var k=(i+1).toString();
document.getElementById(j).innerHTML=document.getElementById(k).innerHTML;
}
document.getElementById(id2).innerHTML=x;
flag=0;
}
}
</script>
答案 1 :(得分:1)
我做了一点http://jsfiddle.net/zxKeg/。仅适用于jQuery,不需要额外的插件。希望这会对你有所帮助!
JS代码:
$(document).ready(function() {
var $table = $('table');
var $toCopy = null;
$table.on('click', 'tr', function() {
if($toCopy === null || $toCopy[0] == this) {
$toCopy = $(this);
}
else {
$toCopy.remove();
$(this).after($toCopy);
$toCopy = null;
}
});
});