分享,好就顶下。

pxpsoft 2008-12-17 04:32:07
代码如下:

<HTML>

<script type="text/javascript" >

function selectMove(oSource,oTarget,cWhich) //两个选择框选项之间的移动,oSource为源选择框,oTarget为目标选择框,cWhich为提示文字,取值”左“或”右“。
{

if(!oSource.options.length)
{
alert(cWhich+"侧列表中已没有选项可选,无法移动!");
return;
}
if(oSource.selectedIndex==-1)
{
alert("操作前您首先应该从"+cWhich+"侧列表中选择一项!");
return;
}

var mySld=new Array(); //把要源列表框被选择的下标的值 放到 数组 中去

for(i=0;i<oSource.options.length;i++)
if(oSource.options[i].selected)
mySld[mySld.length++]=i;


for(i=0;i<mySld.length;i++) //把 数组 添加 到目标列表中去
{

var objOp=document.createElement("OPTION")

objOp.value=oSource.options[mySld[i]].value;
objOp.text=oSource.options[mySld[i]].text;

oTarget.options.add(objOp);


}
for(i=0;i<mySld.length;i++) //源列表 去掉数组的值
{

oSource.options.remove(mySld[i]-i);

}



return true;

}



</script>

<tr>
<td height="60" valign="top">

<table width="100%" border="0" cellpadding="0" cellspacing="0">

<!--DWLayoutTable-->
<tr>

<td align="center">
<select id="timesegmentselect" size=5 id="time" type="text"
multiple="multiple" style="{width:100px}">

<option value="01">
01
</option>
<option value="02">
02
</option>
<option value="03">
03
</option>
<option value="04">
04
</option>
<option value="05">
05
</option>
<option value="06">
06
</option>
<option value="07">
07
</option>
<option value="08">
08
</option>
<option value="09">
09
</option>

<option value="10">
10
</option>

<option value="11">
11
</option>
<option value="12">
12
</option>
<option value="13">
13
</option>
<option value="14">
14
</option>
<option value="15">
15
</option>
<option value="16">
16
</option>
<option value="17">
17
</option>
<option value="18">
18
</option>
<option value="19">
19
</option>


</select>
</td>
<td align="center">
<select id="timesegmentselect2" size=5 type="text"
multiple="multiple" style="{width:111px}">
</select>
</td>
</tr>

<tr>
<td align="center">


<input type="button" name="addtimesegment" value="添加>>"
onclick="selectMove(window.document.all.timesegmentselect,window.document.all.timesegmentselect2,'左')"
style="width:51; height:27" />
</td>

<td align="center">
<input type="button" name="delettimesegment2" value="<<删除"
onClick="selectMove(window.document.all.timesegmentselect2,window.document.all.timesegmentselect,'右')"
style="width:51; height:27" />
</td>
</tr>
</table>


</HTML>


...全文
131 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinayuy 2008-12-19
  • 打赏
  • 举报
回复
做个记号,再顶一下
etz2008 2008-12-19
  • 打赏
  • 举报
回复
顶一下~
wxhx0502 2008-12-19
  • 打赏
  • 举报
回复
ding
pxpsoft 2008-12-19
  • 打赏
  • 举报
回复
基于大家的支持我继续写了一下排序。排序按照 -- 字符的笔画来的。高手也可以自己加上排序。代码有点乱。请高手批评意见。
由于项目基于IE我没有写版本的问题。



<HTML >
<meta http-equiv="content-type" content="text/html; charset=utf-8" />


<script type="text/javascript" charset="utf-8">

/*******************************************************/
//pxp于20081219添加
//两个选择框选项之间的移动,oSource为源选择框,oTarget为目标选择框,cWhich为提示文字,取值”左“或”右“。

function selectMove(oSource,oTarget,cWhich)
{

if(!oSource.options.length)
{
alert(cWhich+"侧列表中已没有选项可选,无法移动!");
return;
}
if(oSource.selectedIndex==-1)
{
alert("操作前您首先应该从"+cWhich+"侧列表中选择一项!");
return;
}

var mySld=new Array(); //把要源列表框被选择的下标的值 放到 数组 中去

for(i=0;i<oSource.options.length;i++)
if(oSource.options[i].selected)
mySld[mySld.length++]=i;

for(i=0;i<mySld.length;i++) //把 数组 添加 到目标列表中去
{

var objOp=document.createElement("OPTION")

objOp.value=oSource.options[mySld[i]].value;
objOp.text=oSource.options[mySld[i]].text;

addOptionToListShort(objOp,oTarget); //把objOp结点插入到目标列表框oTarget中,并按字符从小到大排序。


}


for(i=0;i<mySld.length;i++) //源列表 去掉数组的值
{

oSource.options.remove(mySld[i]-i);

}

return true;

}

/******************************************/
//pxp于2008-12-19添加
//把optionObject对象添加到oTargetList列表框中去,并且排序。排的顺序为字符笔化比较 从小到大。

function addOptionToListShort(optionObject,oTargetList)
{


if(oTargetList.options.length>0) //目标列表不为空
{
for(j=0;j<oTargetList.options.length;j++) //遍历目标框的值
{
if(optionObject.text<oTargetList.options[j].text)  //要插入的值目标框的值进行比较 可以加一个自定义比较函数
{

oTargetList.options.add(optionObject,j); //把结点插入到optionObject对象添加到j位置

j=oTargetList.options.length   //跳出

}


if(j==oTargetList.options.length-1)  //没找到,插入到末尾
{
oTargetList.options.add(optionObject);

j=oTargetList.options.length  //跳出

}

}
}

if(oTargetList.options.length==0) //目标列表不为空 直接加上
{

oTargetList.options.add(optionObject,0); //把结点插入到optionObject对象添加到开始位置

}

}



</script>






<tr>
<td height="60" valign="top">

<table width="100%" border="0" cellpadding="0" cellspacing="0">

<!--DWLayoutTable-->
<tr>

<td align="center">
<select id="timesegmentselect" size=10 id="time" type="text"
multiple="multiple" style="{width:100px}">

<option value="安徽卫视">
安徽卫视
</option>
<option value="湖南卫视">
湖南卫视
</option>
<option value="中央二套">
中央二套
</option>
<option value="中央一套">
中央一套
</option>
<option value="江西卫视">
江西卫视
</option>
<option value="广东卫视">
广东卫视
</option>
<option value="河南卫视">
河南卫视
</option>
<option value=" 星期一">
星期一
</option>
<option value=" 星期二">
星期二
</option>

<option value="星期三">
星期三
</option>

<option value=" 星期四">
星期四
</option>
<option value=" 星期五">
星期五
</option>
<option value="星期六">
星期六
</option>
<option value="星期天">
星期天
</option>
<option value="01">
01
</option>
<option value="02">
02
</option>
<option value="03">
03
</option>
<option value="04">
04
</option>
<option value="05">
05
</option>
<option value="06">
06
</option>
<option value="07">
07
</option>
<option value="08">
08
</option>
<option value="09">
09
</option>

<option value="10">
10
</option>

<option value="11">
11
</option>
<option value="12">
12
</option>
<option value="13">
13
</option>
<option value="14">
14
</option>
<option value="15">
15
</option>
<option value="16">
16
</option>
<option value="17">
17
</option>
<option value="18">
18
</option>
<option value="19">
19
</option>


</select>
</td>
<td align="center">
<select id="timesegmentselect2" size=10 type="text"
multiple="multiple" style="{width:111px}">
</select>
</td>
</tr>

<tr>
<td align="center">


<input type="button" name="addtimesegment" value="添加>>"
onclick="selectMove(window.document.all.timesegmentselect,window.document.all.timesegmentselect2,'左')"
style="width:51; height:27" />
</td>

<td align="center">
<input type="button" name="delettimesegment2" value="<<删除"
onClick="selectMove(window.document.all.timesegmentselect2,window.document.all.timesegmentselect,'右')"
style="width:51; height:27" />
</td>
</tr>
</table>
</HTML>



varlj 2008-12-18
  • 打赏
  • 举报
回复

注意一下兼容就更好了
wcabinboy 2008-12-18
  • 打赏
  • 举报
回复
不错,正好需要,学习了
pxpsoft 2008-12-18
  • 打赏
  • 举报
回复
谢谢大家的支持
neo_yoho 2008-12-18
  • 打赏
  • 举报
回复
en
luojihaidao 2008-12-18
  • 打赏
  • 举报
回复
ding
cyqlightrain 2008-12-18
  • 打赏
  • 举报
回复
yaazz 2008-12-18
  • 打赏
  • 举报
回复
mark
弘毅致远 2008-12-17
  • 打赏
  • 举报
回复
添加到右边列表,然后删除所选项重新到左边列表无排序。
要把排序加上就更好了。
弘毅致远 2008-12-17
  • 打赏
  • 举报
回复
不错,顶下。
不悲不喜 2008-12-17
  • 打赏
  • 举报
回复
顶顶!
lqscoke 2008-12-17
  • 打赏
  • 举报
回复
云水千寻 2008-12-17
  • 打赏
  • 举报
回复
ding
happy002 2008-12-17
  • 打赏
  • 举报
回复
jf
s_liangchao1s 2008-12-17
  • 打赏
  • 举报
回复
这种小东西 最好保持兼容性
s_liangchao1s 2008-12-17
  • 打赏
  • 举报
回复
恩 支持下

87,914

社区成员

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

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