怎么样通过选择复选框,然后把指定的一行移动到另一行的下面

xumeiling521 2011-06-27 04:34:06
怎么样通过选择复选框,然后把指定的一行移动到另一行的下面
如 1 表格里有四行数据
2 第一次选择的是第一行的复选框,第二次选择的是第四行的复选框,这样用户的意思就是想把第一行的所有内容放到第四行数据的下面,
使用js完成的效果就是
当点击向下按钮的时候,实现用户的意思
3 第一次选择的是第四行的复选框,第二次选择的是第一行的复选框,这样用户的意思就是想把第四行的所有内容放到第一行数据的下面,
使用js完成的效果就是
当点击向下按钮的时候,实现用户的意思


请问 怎么实现
...全文
271 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xumeiling521 2011-06-28
  • 打赏
  • 举报
回复
解决了
这是页面的代码
<table width="800" border="1" class="ling" id="t1" >
<tr id="-1">
<td width="39" align="left"> 选项</td>
<td width="39" align="left">序号</td>
<td width="148" align="left">标题</td>
<td width="186" align="left">图片名</td>
<td width="137" align="left">所属图书</td>
<td width="155" align="left">所属套书</td>
</tr>
<tr class="mei" id="1" title="" >
<td><input id="Checkbox2" type="checkbox" value="1" onclick="showindex()"/></td>
<td width="40">1</td>
<td width="147">qq</td>
<td width="187">
<div>ww</div>
</td>
<td width="137">wqreqwr</td>
<td width="155">ee</td>
</tr>

<tr class="mei" id="2" title="">
<td><input id="Checkbox2" type="checkbox" value="2" onclick="showindex()"/></td>
<td width="40">2</td>
<td width="147">ee</td>
<td width="187">
<div>rr</div>
</td>
<td width="137">etrw</td>
<td width="155">rr</td>
</tr>

<tr class="mei" id="3" title="">
<td><input id="Checkbox2" type="checkbox" value="3" onclick="showindex()"/></td>
<td width="40">3</td>
<td width="147">dfgsdgsdffg</td>
<td width="187">
<div>wdfgdsw</div>
</td>
<td width="137">fdgds</td>
<td width="155">edsgfdse</td>
</tr>

<tr class="mei" id="4" title="">
<td><input id="Checkbox2" type="checkbox" value="4" onclick="showindex()"/></td>
<td width="40">4</td>
<td width="147">q563q</td>
<td width="187">
<div>w4564w</div>
</td>
<td width="137">ehter</td>
<td width="155">eryterye</td>
</tr>
</table>
<span id="down" onClick="movetrzhiding()" >↑移动到右边指定位置</span>


这是js
function movetrzhiding(){
var mytable1=document.getElementById('t1');
var result=eval(mytable1.getElementsByTagName('tr'));//获得表格的每一行
if(currindex==-1) {alert("请先选择");return;}
if(event.srcElement.id=="down" && currindex<result.length){
$("#t1 tr td input:checked").each(function(index) {//遍历除全选复选框外的行
if (this.checked) {//如果选中
var id1=currobj.id;
var mytr1=document.getElementById(id1);
$("#t1 tr[id=" + this.value + "]").after(mytr1);; //把你选择的行放到指定的位置
$("#t1 tr td input[type=checkbox]").attr("checked", false);//把选中的复选框取消
}
})

}
}
xumeiling521 2011-06-28
  • 打赏
  • 举报
回复
解决了
这是页面的代码
<table width="800" border="1" class="ling" id="t1" >
<tr id="-1">
<td width="39" align="left"> 选项</td>
<td width="39" align="left">序号</td>
<td width="148" align="left">标题</td>
<td width="186" align="left">图片名</td>
<td width="137" align="left">所属图书</td>
<td width="155" align="left">所属套书</td>
</tr>
<tr class="mei" id="1" title="" >
<td><input id="Checkbox2" type="checkbox" value="1" onclick="showindex()"/></td>
<td width="40">1</td>
<td width="147">qq</td>
<td width="187">
<div>ww</div>
</td>
<td width="137">wqreqwr</td>
<td width="155">ee</td>
</tr>

<tr class="mei" id="2" title="">
<td><input id="Checkbox2" type="checkbox" value="2" onclick="showindex()"/></td>
<td width="40">2</td>
<td width="147">ee</td>
<td width="187">
<div>rr</div>
</td>
<td width="137">etrw</td>
<td width="155">rr</td>
</tr>

<tr class="mei" id="3" title="">
<td><input id="Checkbox2" type="checkbox" value="3" onclick="showindex()"/></td>
<td width="40">3</td>
<td width="147">dfgsdgsdffg</td>
<td width="187">
<div>wdfgdsw</div>
</td>
<td width="137">fdgds</td>
<td width="155">edsgfdse</td>
</tr>

<tr class="mei" id="4" title="">
<td><input id="Checkbox2" type="checkbox" value="4" onclick="showindex()"/></td>
<td width="40">4</td>
<td width="147">q563q</td>
<td width="187">
<div>w4564w</div>
</td>
<td width="137">ehter</td>
<td width="155">eryterye</td>
</tr>
</table>
<span id="down" onClick="movetrzhiding()" >↑移动到右边指定位置</span>


这是js
function movetrzhiding(){
var mytable1=document.getElementById('t1');
var result=eval(mytable1.getElementsByTagName('tr'));//获得表格的每一行
if(currindex==-1) {alert("请先选择");return;}
if(event.srcElement.id=="down" && currindex<result.length){
$("#t1 tr td input:checked").each(function(index) {//遍历除全选复选框外的行
if (this.checked) {//如果选中
var id1=currobj.id;
var mytr1=document.getElementById(id1);
$("#t1 tr[id=" + this.value + "]").after(mytr1);; //把你选择的行放到指定的位置
$("#t1 tr td input[type=checkbox]").attr("checked", false);//把选中的复选框取消
}
})

}
}
xumeiling521 2011-06-27
  • 打赏
  • 举报
回复
哎 谁能帮帮我,LeeHomWong 你说的我不太懂,我给你留言了 能聊一下吗
Kogeo 2011-06-27
  • 打赏
  • 举报
回复
.... 做不出来.... 不知道怎么才可以无刷新的 用 JS 把值 调换。 帮你顶下
24K純帥 2011-06-27
  • 打赏
  • 举报
回复
设置个全局变量tmp,在checkbox的click()事件里面,当tmp为空就把选中的值给这个变量,要是有值就把值给这个checkbox再把这个变量的值设为空
xumeiling521 2011-06-27
  • 打赏
  • 举报
回复
哈哈 没事 谢谢你
xumeiling521 2011-06-27
  • 打赏
  • 举报
回复
checkbox
Kogeo 2011-06-27
  • 打赏
  • 举报
回复
不好意思啊。我好像搞错了!

你说的是 select 吧? 还是 checkbox呢?
xumeiling521 2011-06-27
  • 打赏
  • 举报
回复
那怎么获取 你第一次选择的行号,和你第二次选择的行号呢
Kogeo 2011-06-27
  • 打赏
  • 举报
回复
这个我忘记是不是 HTML 的复选框了,重新排序好像是这样子的吧

111111111111111 行 1
222222222222222 行 2
333333333333333 行 3
444444444444444 行 4

把行4 放置 行1. 需要操作的是.
先把 行4 抽取。
行4=行3;
行3=行2;
行2=行1;
最后把 行1替换为 行4;
最后就变为
444444444444444
333333333333333
222222222222222
111111111111111

新手 说错了。请指导下

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧