使用js交换两个select的text
123男女点击交换按钮时,把list1的text也就是123给list2,list2变成123,list1变成男女,不在乎有没有选就全部交换...
123男女点击交换按钮时,把list1的text也就是123给list2,list2变成123,list1变成男女,不在乎有没有选就全部交换
展开
4个回答
展开全部
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Select列表左右交换内容的JS</title>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
sortitems = 1;
function move(fbox,tbox) {
for(var i=0; i<fbox.options.length; i++) {
if(fbox.options[i].selected && fbox.options[i].value != "") {
var no = new Option();
no.value = fbox.options[i].value;
no.text = fbox.options[i].text;
tbox.options[tbox.options.length] = no;
fbox.options[i].value = "";
fbox.options[i].text = "";
}
}
BumpUp(fbox);
if (sortitems) SortD(tbox);
}
function BumpUp(box) {
for(var i=0; i<box.options.length; i++) {
if(box.options[i].value == "") {
for(var j=i; j<box.options.length-1; j++) {
box.options[j].value = box.options[j+1].value;
box.options[j].text = box.options[j+1].text;
}
var ln = i;
break;
}
}
if(ln < box.options.length) {
box.options.length -= 1;
BumpUp(box);
}
}
function SortD(box) {
var temp_opts = new Array();
var temp = new Object();
for(var i=0; i<box.options.length; i++) {
temp_opts[i] = box.options[i];
}
for(var x=0; x<temp_opts.length-1; x++) {
for(var y=(x+1); y<temp_opts.length; y++) {
if(temp_opts[x].text > temp_opts[y].text) {
temp = temp_opts[x].text;
temp_opts[x].text = temp_opts[y].text;
temp_opts[y].text = temp;
temp = temp_opts[x].value;
temp_opts[x].value = temp_opts[y].value;
temp_opts[y].value = temp;
}
}
}
for(var i=0; i<box.options.length; i++) {
box.options[i].value = temp_opts[i].value;
box.options[i].text = temp_opts[i].text;
}
}
// End -->
</script>
</head>
<body>
<form ACTION="" METHOD="POST">
<table border="0">
<tr>
<td><select multiple size="5" name="list1">
<option value="ASP">ASP </option>
<option value="PHP"> PHP</option>
<option value="JSP"> JSP</option>
</select></td>
<td>
<input type="button" value=" >> " onclick="move(this.form.list1,this.form.list2)" name="B1">
<input type="button" value=" << " onclick="move(this.form.list2,this.form.list1)" name="B2">
</td>
<td><select multiple size="5" name="list2">
<option value="JAVA">JAVA</option>
<option value="DELPHI">DELPHI</option>
<option value="C++">C++</option>
</select></td>
</tr>
</table>
</form>
<p>可以同时多个左右移动</p>
</body>
</html>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>使用js交换两个select的text</title>
<script language="javascript">
<!--
function Switch(id1,id2){
var OptCont1 = [];
var OptCont2 = [];
for(var i=0;i<GetObj(id1).length;i++){
OptCont1[2*i] = GetObj(id1).options[i].value;
OptCont1[2*i+1] = GetObj(id1).options[i].value;
};
for(var i=0;i<GetObj(id2).length;i++){
OptCont2[2*i] = GetObj(id2).options[i].value;
OptCont2[2*i+1] = GetObj(id2).options[i].value;
};
GetObj(id1).innerHTML="";
GetObj(id2).innerHTML="";
for(var i=0;i<OptCont1.length/2;i++){
GetObj(id2).options[GetObj(id2).options.length] = new Option(OptCont1[2*i],OptCont1[2*i+1],0,0);
}
for(var i=0;i<OptCont2.length/2;i++){
GetObj(id1).options[GetObj(id1).options.length] = new Option(OptCont2[2*i],OptCont2[2*i+1],0,0);
}
};
function GetObj(id){
return document.getElementById(id);
};
-->
</script>
</head>
<body>
<select id="test1" style="width:100px;" size="5">
<option value="男">男</option>
<option value="女">女</option>
</select>
<input type="button" onClick="Switch('test1','test2');" value="交换">
<select id="test2" style="width:100px;" size="5">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</body>
</html>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有现成的代码,上班时间,没时间帮你写了. ..
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
详细不明,说清楚些
追问
就是两个select一个按钮,提交时交换两个select的text,比如说第一个select的text是1,2,3第二个select的text是男,女,提交后是第一个select是男,女,第二个是1,2,3
追答
上面的给的代码不错;可以参照上面的写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询