右边列表框的选项可以向左移动,或者移回去,且左边的选项可以上下移动?
yes
yes
解决方案 »
- js中请问正则表达式的\1与/m分别表示什么意思?
- document.getElementById("form1").submit();
- 在火狐mousemove事件中如何判断鼠标左键点击和没有点击
- 新手问题。望高手解决。
- 代码解释
- [Firefox]动态生成Form内容,提交无效
- 新开窗口如何读取父窗口或返回值给父窗口
- 请问javascript中有像 int cstr 这样的转换函数吗?
- 让鼠标移动到某个小球上时,他就不断的变换颜色,这段代码,怎么写呢?
- bootstrap下拉框加上input-sm后字体显示不正常如图
- JSP页面中如何保存JTABLE的内容
- 如何调用IFRAME中的FUNCTION?
<OPTION>5</OPTION> <OPTION>2</OPTION> <OPTION>4</OPTION>
<OPTION>6</OPTION></SELECT> <SELECT multiple name=sel2 size=6></SELECT> <INPUT onclick=moveTo(sel1,sel2) type=button value=">>"> <INPUT onclick=moveTo(sel2,sel1) type=button value="<<"> <INPUT onclick='move(sel1,"up")' type=button value=up> <INPUT onclick='move(sel1,"down")' type=button value=down>
<SCRIPT>
//**freefalcon**//
function moveTo(sel1,sel2){
for(i=sel1.options.length-1;i>=0;i--)
if(sel1.options[i].selected){
op=sel1.options[i].cloneNode(true);
sel2.appendChild(op);
sel1.options[i]=null;
}
}
function move(sel,dir){
if(dir=="up")
for(i=0;i<sel.options.length;i++)
if(sel.options[i].selected){
if(i==0)break;
sel.options[i].swapNode(sel.options[i-1])
}
if(dir=="down")
for(i=sel.options.length-1;i>=0;i--)
if(sel.options[i].selected){
if(i==sel.options.length-1)break;
sel.options[i].swapNode(sel.options[i+1]);
}
}
</SCRIPT>
能给一下重置的思路,或代码吗?
//+----------------------------------------------------------------------+
//开始
var userSelect = new Object();
// +---------------------------------------+
//配置
userSelect.obj_slt_name = new Array();
userSelect.obj_slt_name[userSelect.obj_slt_name.length] = "a";
userSelect.obj_slt_name[userSelect.obj_slt_name.length] = "b";
// +---------------------------------------+
//测试用
var value_right = new Array(),
value_left = new Array(),
value_select = new Array(); value_right[value_right.length] = "a";
value_right[value_right.length] = "b";
value_right[value_right.length] = "c";
value_right[value_right.length] = "d";
value_right[value_right.length] = "e";
value_right[value_right.length] = "f";
value_right[value_right.length] = "g";
value_right[value_right.length] = "h";
value_right[value_right.length] = "i";
value_right[value_right.length] = "j";
// +---------------------------------------+
//初始化
userSelect.init = function(obj_slt_name)
{ }
// +---------------------------------------+
//还原
userSelect.resect =function(obj_slt_name)
{ }
// +---------------------------------------+
//上移
userSelect.up = function(obj_slt)
{
obj_slt = "document.all."+obj_slt;
userSelect.move(obj_slt, "up");
}
// +---------------------------------------+
//下移
userSelect.down = function(obj_slt)
{
obj_slt = "document.all."+obj_slt;
userSelect.move(obj_slt, "down");
}
// +---------------------------------------+
//移动
userSelect.move = function(obj_slt, act)
{
if(act=="up")
for(i=0;i<obj_slt.options.length;i++)
if(obj_slt.options[i].selected){
if(i==0)break;
obj_slt.options[i].swapNode(obj_slt.options[i-1]);
}
if(act=="down")
for(i=obj_slt.options.length-1;i>=0;i--)
if(obj_slt.options[i].selected){
if(i==obj_slt.options.length-1)break;
obj_slt.options[i].swapNode(obj_slt.options[i+1]);
}
}
// +---------------------------------------+
//添加
userSelect.add = function(obj_slt, res_slt)
{
obj_slt = "document.all."+obj_slt;
res_slt = "document.all."+res_slt;
eval("userSelect.barter("+obj_slt+", "+res_slt+")");
}
// +---------------------------------------+
//删除
userSelect.del = function(obj_slt, res_slt)
{
obj_slt = "document.all."+obj_slt;
res_slt = "document.all."+res_slt;
eval("userSelect.barter("+obj_slt+", "+res_slt+")"); }
// +---------------------------------------+
//交换
userSelect.barter = function(obj_selt, res_slt)
{
for(i=res_slt.options.length-1;i>=0;i--)
if(res_slt.options[i].selected){
op=res_slt.options[i].cloneNode(true);
obj_selt.appendChild(op);
res_slt.options[i]=null;
}
}
// +---------------------------------------+
//生成
//配置
for (s=0; s<userSelect.obj_slt_name.length; s++) {
var strs = new Array();
//定义表格
strs[strs.length] = "<TABLE width='75%' border='1'>";
strs[strs.length] = "<TR>";
strs[strs.length] = "<TD rowspan='2'>";
//定义左列表框
strs[strs.length] = "<SELECT name=\'"+userSelect.obj_slt_name[s]+"\' id=\'"+userSelect.obj_slt_name[s]+"\'size='10' multiple>";
strs[strs.length] = "</SELECT>";
strs[strs.length] = "</TD>"; strs[strs.length] = "<TD>";
strs[strs.length] = "<INPUT name=\'"+userSelect.obj_slt_name[s]+"res"+"\' id=\'"+userSelect.obj_slt_name[s]+"\' type='button' onClick='userSelect.add(this.name, this.id)' value='添加'>";
strs[strs.length] = "</TD>"; strs[strs.length] = "<TD>";
//定义右列表框
strs[strs.length] = "<SELECT name=\'"+userSelect.obj_slt_name[s]+"res"+"\' size='10' multiple id='s1'>";
//循环生成列表值
for (k =0; k<value_right.length; k++) {
strs[strs.length] = "<OPTION value=\'"+value_right[k]+"\'>"+value_right[k]+"</OPTION>";
}
strs[strs.length] = "</SELECT>";
strs[strs.length] = "</TD>";
strs[strs.length] = "</TR>"; strs[strs.length] = "<TR>";
strs[strs.length] = "<TD>";
strs[strs.length] = "<INPUT name=\'"+userSelect.obj_slt_name[s]+"\' id=\'"+userSelect.obj_slt_name[s]+"res"+"\' type='button' onClick='userSelect.del(this.name, this.id)' value='删除'>";
strs[strs.length] = "</TD>";
strs[strs.length] = "</TR>"; strs[strs.length] = "<TR>";
strs[strs.length] = "<TD>";
strs[strs.length] = "<INPUT type='button' id="+userSelect.obj_slt_name[s]+" name='Submit3' onClick='userSelect.up(this.id)' value='上移'>";
strs[strs.length] = "<INPUT type='button' id="+userSelect.obj_slt_name[s]+" name='Submit4' onClick='userSelect.down(this.id)' value='下移'>";
strs[strs.length] = "</TD>";
strs[strs.length] = "<TD> </TD>";
strs[strs.length] = "<TD> </TD>";
strs[strs.length] = "</TR>";
strs[strs.length] = "</TABLE>"; //显示列表框
for (i=0; i<strs.length; i++) {
str = "document.write(strs[i])";
//alert(i);
//alert(strs[i]); eval(str);
}
}
//+----------------------------------------------------------------------+
</SCRIPT>
<OPTION>5</OPTION> <OPTION>2</OPTION> <OPTION>4</OPTION>
<OPTION>6</OPTION></SELECT> <SELECT multiple name=sel2 size=6></SELECT> <INPUT onclick=moveTo(sel1,sel2) type=button value=">>"> <INPUT onclick=moveTo(sel2,sel1) type=button value="<<"> <INPUT onclick='move(sel1,"up")' type=button value=up> <INPUT onclick='move(sel1,"down")' type=button value=down>
<INPUT onclick='reset(sel1,sel2)' type=button value=reset>
<SCRIPT>
//**freefalcon**//
function moveTo(sel1,sel2){
for(i=sel1.options.length-1;i>=0;i--)
if(sel1.options[i].selected){
op=sel1.options[i].cloneNode(true);
sel2.appendChild(op);
sel1.options[i]=null;
}
}
function move(sel,dir){
if(dir=="up")
for(i=0;i<sel.options.length;i++)
if(sel.options[i].selected){
if(i==0)break;
sel.options[i].swapNode(sel.options[i-1])
}
if(dir=="down")
for(i=sel.options.length-1;i>=0;i--)
if(sel.options[i].selected){
if(i==sel.options.length-1)break;
sel.options[i].swapNode(sel.options[i+1]);
}
}
var leftSel=sel1.cloneNode(true);
var rightSel=sel2.cloneNode(true);
function reset(sel1,sel2){
copy(sel1,leftSel);
copy(sel2,rightSel);
}
function copy(sel1,sel2){
for(i=sel1.length-1;i>=0;i--)
sel1.options[i]=null;
for(i=0;i<sel2.length;i++)
sel1.appendChild(sel2.options[i].cloneNode(true));
}
</SCRIPT>