- 浏览: 250482 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
无它唯勤:
...
Spring Ioc AOP -
dubaopeng:
挺好的,拿去改改!
java 解析csv文件 -
灵程大哥:
先试一下,看行不行
java 判断文本文件编码 -
pxjianke:
谢谢兄弟。我现在在测试插入千万级数据。做测试。这个太有用了。
Oracle 高速批量速插入数据 解决方案
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->/**
*WRITE BY :惠万鹏
*DATE :2008-06-10
*VERSION :1.0
*DESCRIPTION:
*/
var SelUtil =
{
/**
*对二维数组进行排序
*arr :将要排序的数组
*dimIndex :按第几维排序,可选值0或1
*ascOrDexc:按升序或降序,可先值为0或1
*返回一个已经排好序的数组
*/
__sortDyadicArray : function (arr, dimIndex, ascOrDesc)
{
var tempArr = null;
/** 使用选择排序法排序*/
for(var m = 0; m < arr.length-1; m++)
{
var index = m;
for(var n = m + 1; n < arr.length; n++){
/** 按第一维升序排序 */
if(dimIndex == 0 && ascOrDesc == 0
&& arr[n][0] < arr[index][0])
{
index = n;
}
/** 按第一维降序排列 */
else if(dimIndex == 0 && ascOrDesc == 1
&& arr[n][0] > arr[index][0])
{
index = n;
}
/** 按第二维升序排序 */
else if(dimIndex == 1 && ascOrDesc == 0
&& arr[n][1] < arr[index][1])
{
index = n;
}
/** 按第二维降序排列 */
else if(dimIndex == 1 && ascOrDesc == 1
&& arr[n][1] > arr[index][1])
{
index = n;
}
}
tempArr = arr[m];
arr[m] = arr[index];
arr[index] = tempArr;
}
return arr;
},
/**向Sel中加入一项
*oListbox:列表对象
*sName :Listbox文本
*sValue :Listbox值
*/
__add : function (oListbox, sValue, sName, sInitValue)
{
var oOption = document.createElement("option");
oOption.appendChild(document.createTextNode(sName));
if (arguments.length == 4)
{
oOption.setAttribute("value",sValue);
if(sValue == sInitValue)
{
oOption.setAttribute("selected",true);
}
oListbox.appendChild(oOption);
}
},
/**
*从二维数中加入多个option
*oListbox :列表对象
*dyadicArray:二维数组
*/
__addAll : function (oListbox, dyadicArray, sSelected)
{
for(var i = 0; i < dyadicArray.length; i++)
{
this.__add(oListbox, dyadicArray[i][0], dyadicArray[i][1], sSelected);
}
},
/*
*从Sel中删除一项
*oListbox:列表对象
*iIndex :项的索引号
*/
__remove : function (oListbox, iIndex)
{
oListbox.remove(iIndex);
},
/*
*清空Sel的所有项
*oListbox:列表对象
*/
__clear : function (oListbox)
{
for (var i = oListbox.options.length - 1; i >= 0; i--)
{
this.__remove(oListbox, i);
}
},
/**
*两个Sel中相互移动
*oListboxFrom:将要被移除的列表
*oListboxTo :将要被移到的列表
*iIndex :项的索引号
*/
__move : function (oListboxFrom, oListboxTo, iIndex)
{
var oOption = oListboxFrom.options(iIndex);
if(oOption !== null)
{
oListboxTo.appendChild(oOption);
}
},
/**
*把所有选中的项移到另一个列表
*oListboxFrom:将要被移到的列表
*oListboxTo :将要被移到的列表
*/
__moveAll : function (oListboxFrom, oListboxTo,type)
{
var indexes = this.__getIndexes(oListboxFrom,type);
for(var i = indexes.length - 1; i >= 0; i --)
{
this.__move(oListboxFrom, oListboxTo, indexes[i]);
}
},
/**
*把指定索引的项上移一个位置
*oListbox:列表对象
*iIndex :索引号
*/
__shiftUp : function (oListbox, iIndex)
{
if(iIndex > 0)
{
var oOption = oListbox.options[iIndex];
var oPrevOption = oListbox.options[iIndex - 1];
oListbox.insertBefore(oOption, oPrevOption);
}
},
/**
*把指定索引的项下移一个位置
*oListbox:列表对象
*iIndex :索引号
*/
__shiftDown : function (oListbox, iIndex)
{
if (iIndex < oListbox.options.length - 1)
{
var oOption = oListbox.options[iIndex];
var oNextOption = oListbox.options[iIndex + 1];
oListbox.insertBefore(oNextOption, oOption);
}
},
/**
*得到选中的索引
*oListbox:列表对像
*type :可选值:1选中的index,0全部index,-1没选中的index
*/
__getIndexes : function (oListbox, type)
{
var arrIndexes = new Array;
for(var i = 0; i < oListbox.options.length; i++)
{
if(type == 1)
{
if (oListbox.options[i].selected)
{
arrIndexes.push(i);
}
}
else if(type == 0)
{
arrIndexes.push(i);
}
else if(type == -1)
{
if (!oListbox.options[i].selected)
{
arrIndexes.push(i);
}
}
}
return arrIndexes;
},
/**
*把一个字符串转换成一个二维数组
*str:带有分隔符的字符串
*/
__strToDyadicArray : function (str)
{
var kvs = str.split('|');
var dyadicArray = new Array(kvs.length);
for(var i = 0; i < kvs.length; i++)
{
dyadicArray[i] = new Array(2);
dyadicArray[i][0] = kvs[i].substring(0, kvs[i].indexOf(":"));
dyadicArray[i][1] = kvs[i].substring(kvs[i].indexOf(":") + 1, kvs[i].length);
}
return dyadicArray;
},
/**
*初始化一个Sel
*SelId :Sel的id
*str :初始化字符串
*sDefault:默认值
*/
initSel : function(selId, str, sSelected)
{
if(str.length > 0)
{
var kvs = this.__strToDyadicArray(str);
oSel = document.getElementById(selId);
this.__addAll(oSel,kvs,sSelected);
}
},
/**
*初始化两个Sel
*selLeftId :左边Sel的id
*selRightId:右边Sel的id
*strLeft :左边初始化字符串
*strRight :右边初始化字符串
*/
initDouSel : function(selLeftId, selRightId, strLeft, strRight)
{
this.initSel(selLeftId, strLeft, 'XXXX');
this.initSel(selRightId, strRight, 'XXXX');
},
/**
*左边全部移到右边
*selLeftId :左边列表id
*selRightId:右边列表id
*bla :button left all
*blp :button left part
*bra :button right all
*brp :button right part
*/
leftSelToRightSelAll : function(selLeftId, selRightId, bla, blp, bra, brp)
{
var oSelLeft = document.getElementById(selLeftId);
var oSelRight = document.getElementById(selRightId);
this.__moveAll(oSelLeft,oSelRight,0);
document.getElementById(bla).disabled = true;
document.getElementById(blp).disabled = true;
document.getElementById(bra).disabled = false;
document.getElementById(brp).disabled = false;
},
/**
*左边选中的项全部移到右边
*selLeftId :左边列表id
*selRightId:右边列表id
*bla :button left all
*blp :button left part
*bra :button right all
*brp :button right part
*/
leftSelToRightSelPart : function(selLeftId, selRightId, bla, blp, bra, brp)
{
var oSelLeft = document.getElementById(selLeftId);
var oSelRight = document.getElementById(selRightId);
this.__moveAll(oSelLeft,oSelRight,1);
if(this.__getIndexes(oSelLeft,0).length == 0)
{
document.getElementById(bla).disabled = true;
document.getElementById(blp).disabled = true;
}
else
{
document.getElementById(bla).disabled = false;
document.getElementById(blp).disabled = false;
}
document.getElementById(bra).disabled = false;
document.getElementById(brp).disabled = false;
},
/**
*右边全部移到左边
*selLeftId :左边列表id
*selRightId:右边列表id
*bla :button left all
*blp :button left part
*bra :button right all
*brp :button right part
*/
rightSelToleftSelAll : function(selLeftId, selRightId, bla, blp, bra, brp)
{
var oSelLeft = document.getElementById(selLeftId);
var oSelRight = document.getElementById(selRightId);
this.__moveAll(oSelRight,oSelLeft,0);
document.getElementById(bra).disabled = true;
document.getElementById(brp).disabled = true;
document.getElementById(bla).disabled = false;
document.getElementById(blp).disabled = false;
},
/**
*左边选中的项全部移到右边
*selLeftId :左边列表id
*selRightId:右边列表id
*bla :button left all
*blp :button left part
*bra :button right all
*brp :button right part
*/
rightSelToLeftSelPart : function(selLeftId, selRightId, bla, blp, bra, brp)
{
var oSelLeft = document.getElementById(selLeftId);
var oSelRight = document.getElementById(selRightId);
this.__moveAll(oSelRight, oSelLeft, 1);
if(this.__getIndexes(oSelRight,0).length == 0)
{
document.getElementById(bra).disabled = true;
document.getElementById(brp).disabled = true;
}
else
{
document.getElementById(bra).disabled = false;
document.getElementById(brp).disabled = false;
}
document.getElementById(bla).disabled = false;
document.getElementById(blp).disabled = false;
}
}
使用方法:*WRITE BY :惠万鹏
*DATE :2008-06-10
*VERSION :1.0
*DESCRIPTION:
*/
var SelUtil =
{
/**
*对二维数组进行排序
*arr :将要排序的数组
*dimIndex :按第几维排序,可选值0或1
*ascOrDexc:按升序或降序,可先值为0或1
*返回一个已经排好序的数组
*/
__sortDyadicArray : function (arr, dimIndex, ascOrDesc)
{
var tempArr = null;
/** 使用选择排序法排序*/
for(var m = 0; m < arr.length-1; m++)
{
var index = m;
for(var n = m + 1; n < arr.length; n++){
/** 按第一维升序排序 */
if(dimIndex == 0 && ascOrDesc == 0
&& arr[n][0] < arr[index][0])
{
index = n;
}
/** 按第一维降序排列 */
else if(dimIndex == 0 && ascOrDesc == 1
&& arr[n][0] > arr[index][0])
{
index = n;
}
/** 按第二维升序排序 */
else if(dimIndex == 1 && ascOrDesc == 0
&& arr[n][1] < arr[index][1])
{
index = n;
}
/** 按第二维降序排列 */
else if(dimIndex == 1 && ascOrDesc == 1
&& arr[n][1] > arr[index][1])
{
index = n;
}
}
tempArr = arr[m];
arr[m] = arr[index];
arr[index] = tempArr;
}
return arr;
},
/**向Sel中加入一项
*oListbox:列表对象
*sName :Listbox文本
*sValue :Listbox值
*/
__add : function (oListbox, sValue, sName, sInitValue)
{
var oOption = document.createElement("option");
oOption.appendChild(document.createTextNode(sName));
if (arguments.length == 4)
{
oOption.setAttribute("value",sValue);
if(sValue == sInitValue)
{
oOption.setAttribute("selected",true);
}
oListbox.appendChild(oOption);
}
},
/**
*从二维数中加入多个option
*oListbox :列表对象
*dyadicArray:二维数组
*/
__addAll : function (oListbox, dyadicArray, sSelected)
{
for(var i = 0; i < dyadicArray.length; i++)
{
this.__add(oListbox, dyadicArray[i][0], dyadicArray[i][1], sSelected);
}
},
/*
*从Sel中删除一项
*oListbox:列表对象
*iIndex :项的索引号
*/
__remove : function (oListbox, iIndex)
{
oListbox.remove(iIndex);
},
/*
*清空Sel的所有项
*oListbox:列表对象
*/
__clear : function (oListbox)
{
for (var i = oListbox.options.length - 1; i >= 0; i--)
{
this.__remove(oListbox, i);
}
},
/**
*两个Sel中相互移动
*oListboxFrom:将要被移除的列表
*oListboxTo :将要被移到的列表
*iIndex :项的索引号
*/
__move : function (oListboxFrom, oListboxTo, iIndex)
{
var oOption = oListboxFrom.options(iIndex);
if(oOption !== null)
{
oListboxTo.appendChild(oOption);
}
},
/**
*把所有选中的项移到另一个列表
*oListboxFrom:将要被移到的列表
*oListboxTo :将要被移到的列表
*/
__moveAll : function (oListboxFrom, oListboxTo,type)
{
var indexes = this.__getIndexes(oListboxFrom,type);
for(var i = indexes.length - 1; i >= 0; i --)
{
this.__move(oListboxFrom, oListboxTo, indexes[i]);
}
},
/**
*把指定索引的项上移一个位置
*oListbox:列表对象
*iIndex :索引号
*/
__shiftUp : function (oListbox, iIndex)
{
if(iIndex > 0)
{
var oOption = oListbox.options[iIndex];
var oPrevOption = oListbox.options[iIndex - 1];
oListbox.insertBefore(oOption, oPrevOption);
}
},
/**
*把指定索引的项下移一个位置
*oListbox:列表对象
*iIndex :索引号
*/
__shiftDown : function (oListbox, iIndex)
{
if (iIndex < oListbox.options.length - 1)
{
var oOption = oListbox.options[iIndex];
var oNextOption = oListbox.options[iIndex + 1];
oListbox.insertBefore(oNextOption, oOption);
}
},
/**
*得到选中的索引
*oListbox:列表对像
*type :可选值:1选中的index,0全部index,-1没选中的index
*/
__getIndexes : function (oListbox, type)
{
var arrIndexes = new Array;
for(var i = 0; i < oListbox.options.length; i++)
{
if(type == 1)
{
if (oListbox.options[i].selected)
{
arrIndexes.push(i);
}
}
else if(type == 0)
{
arrIndexes.push(i);
}
else if(type == -1)
{
if (!oListbox.options[i].selected)
{
arrIndexes.push(i);
}
}
}
return arrIndexes;
},
/**
*把一个字符串转换成一个二维数组
*str:带有分隔符的字符串
*/
__strToDyadicArray : function (str)
{
var kvs = str.split('|');
var dyadicArray = new Array(kvs.length);
for(var i = 0; i < kvs.length; i++)
{
dyadicArray[i] = new Array(2);
dyadicArray[i][0] = kvs[i].substring(0, kvs[i].indexOf(":"));
dyadicArray[i][1] = kvs[i].substring(kvs[i].indexOf(":") + 1, kvs[i].length);
}
return dyadicArray;
},
/**
*初始化一个Sel
*SelId :Sel的id
*str :初始化字符串
*sDefault:默认值
*/
initSel : function(selId, str, sSelected)
{
if(str.length > 0)
{
var kvs = this.__strToDyadicArray(str);
oSel = document.getElementById(selId);
this.__addAll(oSel,kvs,sSelected);
}
},
/**
*初始化两个Sel
*selLeftId :左边Sel的id
*selRightId:右边Sel的id
*strLeft :左边初始化字符串
*strRight :右边初始化字符串
*/
initDouSel : function(selLeftId, selRightId, strLeft, strRight)
{
this.initSel(selLeftId, strLeft, 'XXXX');
this.initSel(selRightId, strRight, 'XXXX');
},
/**
*左边全部移到右边
*selLeftId :左边列表id
*selRightId:右边列表id
*bla :button left all
*blp :button left part
*bra :button right all
*brp :button right part
*/
leftSelToRightSelAll : function(selLeftId, selRightId, bla, blp, bra, brp)
{
var oSelLeft = document.getElementById(selLeftId);
var oSelRight = document.getElementById(selRightId);
this.__moveAll(oSelLeft,oSelRight,0);
document.getElementById(bla).disabled = true;
document.getElementById(blp).disabled = true;
document.getElementById(bra).disabled = false;
document.getElementById(brp).disabled = false;
},
/**
*左边选中的项全部移到右边
*selLeftId :左边列表id
*selRightId:右边列表id
*bla :button left all
*blp :button left part
*bra :button right all
*brp :button right part
*/
leftSelToRightSelPart : function(selLeftId, selRightId, bla, blp, bra, brp)
{
var oSelLeft = document.getElementById(selLeftId);
var oSelRight = document.getElementById(selRightId);
this.__moveAll(oSelLeft,oSelRight,1);
if(this.__getIndexes(oSelLeft,0).length == 0)
{
document.getElementById(bla).disabled = true;
document.getElementById(blp).disabled = true;
}
else
{
document.getElementById(bla).disabled = false;
document.getElementById(blp).disabled = false;
}
document.getElementById(bra).disabled = false;
document.getElementById(brp).disabled = false;
},
/**
*右边全部移到左边
*selLeftId :左边列表id
*selRightId:右边列表id
*bla :button left all
*blp :button left part
*bra :button right all
*brp :button right part
*/
rightSelToleftSelAll : function(selLeftId, selRightId, bla, blp, bra, brp)
{
var oSelLeft = document.getElementById(selLeftId);
var oSelRight = document.getElementById(selRightId);
this.__moveAll(oSelRight,oSelLeft,0);
document.getElementById(bra).disabled = true;
document.getElementById(brp).disabled = true;
document.getElementById(bla).disabled = false;
document.getElementById(blp).disabled = false;
},
/**
*左边选中的项全部移到右边
*selLeftId :左边列表id
*selRightId:右边列表id
*bla :button left all
*blp :button left part
*bra :button right all
*brp :button right part
*/
rightSelToLeftSelPart : function(selLeftId, selRightId, bla, blp, bra, brp)
{
var oSelLeft = document.getElementById(selLeftId);
var oSelRight = document.getElementById(selRightId);
this.__moveAll(oSelRight, oSelLeft, 1);
if(this.__getIndexes(oSelRight,0).length == 0)
{
document.getElementById(bra).disabled = true;
document.getElementById(brp).disabled = true;
}
else
{
document.getElementById(bra).disabled = false;
document.getElementById(brp).disabled = false;
}
document.getElementById(bla).disabled = false;
document.getElementById(blp).disabled = false;
}
}
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><html>
<head>
<title>Two-Select</title>
<script language="javascript" src="/SelUtil.js" charset="gb2312"></script>
</head>
<body>
<select id="s1" style="width:80;height:100;float:left" multiple></select>
<div style="width:50;height:100;margin:5px;float:left;text-align:center;">
<input type="button" id="b1" class="b1" value=">>"
onclick="SelUtil.leftSelToRightSelAll('s1','s2','b1','b2','b3','b4')">
<input type="button" id="b2" class="b2" value=">"
onclick="SelUtil.leftSelToRightSelPart('s1','s2','b1','b2','b3','b4')">
<input type="button" id="b3" class="b3" value="<"
onclick="SelUtil.rightSelToLeftSelPart('s1','s2','b1','b2','b3','b4')" >
<input type="button" id="b4" class="b4" value="<<"
onclick="SelUtil.rightSelToleftSelAll('s1','s2','b1','b2','b3','b4')" >
</div>
<select id="s2" style="width:80;height:100" multiple></select>
<script language='javascript'>
var str1 = "1:赵云|2:张辽|3:典韦";
var str2 = "4:吕布|5:张飞|6:关羽";
document.body.onload = function ()
{
SelUtil.initDouSel("s1","s2",str1,str2);
}
</script>
</body>
</html>
<head>
<title>Two-Select</title>
<script language="javascript" src="/SelUtil.js" charset="gb2312"></script>
</head>
<body>
<select id="s1" style="width:80;height:100;float:left" multiple></select>
<div style="width:50;height:100;margin:5px;float:left;text-align:center;">
<input type="button" id="b1" class="b1" value=">>"
onclick="SelUtil.leftSelToRightSelAll('s1','s2','b1','b2','b3','b4')">
<input type="button" id="b2" class="b2" value=">"
onclick="SelUtil.leftSelToRightSelPart('s1','s2','b1','b2','b3','b4')">
<input type="button" id="b3" class="b3" value="<"
onclick="SelUtil.rightSelToLeftSelPart('s1','s2','b1','b2','b3','b4')" >
<input type="button" id="b4" class="b4" value="<<"
onclick="SelUtil.rightSelToleftSelAll('s1','s2','b1','b2','b3','b4')" >
</div>
<select id="s2" style="width:80;height:100" multiple></select>
<script language='javascript'>
var str1 = "1:赵云|2:张辽|3:典韦";
var str2 = "4:吕布|5:张飞|6:关羽";
document.body.onload = function ()
{
SelUtil.initDouSel("s1","s2",str1,str2);
}
</script>
</body>
</html>
发表评论
-
JS 日期时间选择控件
2007-12-13 09:41 3694/**//***本日历选择控件由tiannet根据前人经验完 ... -
AJAX 精辟 的 工具
2007-12-20 14:12 667var XmlHttpPool = { m_MaxPo ... -
正则表达式-3
2008-01-03 17:09 672/** * 格式验证 * 目前支持格式有: * 整 ... -
javascript 操作文件
2008-01-09 17:08 606一、功能实现核心:File ... -
为什么要使用对象直接量,它和JSON有什么关系(转)
2008-03-13 16:09 910近来看了国外的一些知名网站的JS源码,发现里面很多地方都用到对 ... -
js 正则表达试
2008-03-20 10:10 841//校验是否全由数字组成 [code] function i ... -
js 回车键
2008-05-13 11:45 604<html> <head> ... -
二维数组排序
2008-06-05 15:26 1137<!--<br /> <br /> ... -
js 客户端验证 工具
2008-06-12 15:49 636<!--<br /> <br /> ... -
javascript 验证表单 工具
2008-07-08 18:00 655<!--<br /> <br /> ... -
js 二级联动菜单
2008-09-02 13:46 488/**//**Write by:惠万鹏*Time :2 ... -
javascript 操作剪切板 ie firefox 兼容
2008-12-04 11:10 1244copyPaste.js<!--<br /> ... -
二级联动之二
2008-12-09 12:16 715<!--<br /> <br /> ... -
js 调试工具
2008-12-27 14:42 690FullSource是款小巧但有用的工具,相对于IE浏览器本身 ... -
省份 城市 javascript
2009-01-13 19:46 617<!--<br /> <br /> ... -
js hashTable
2009-10-16 15:09 714function Hashtable() { ... -
jquery ajax
2009-12-07 18:02 759<script type="text/jav ... -
关于遮罩
2010-02-26 16:28 732<div id="coverDiv" ...
相关推荐
本文将深入探讨如何使用JavaScript实现两个Select下拉框之间的元素互相移动的功能。这一功能常见于需要动态调整选项归属的情景,例如在多选设置或数据分类中。 首先,我们需要创建两个Select元素,分别命名为`...
要实现“两个select框的数据移动”,我们需要关注以下几个关键知识点: 1. **事件监听**:首先,我们需要在源`<select>`框上监听`change`事件。当用户做出选择时,这个事件会被触发。此外,如果支持多选,还需监听`...
这就是一个简单的JavaScript实现,允许用户在两个Select下拉框之间移动选择的值。在实际项目中,可能还需要处理更多细节,如错误处理、验证、用户反馈等,但以上代码已经提供了一个基础框架。如果你在项目中使用了像...
总结起来,实现“两个select下拉框中的数据相互移动”涉及到HTML、CSS和JavaScript的基本知识,以及对用户交互的响应和处理。实际开发中还需要根据具体需求进行调整和优化,确保用户体验的流畅和功能的完善。
总结一下,实现两个`<select>`下拉框内容互换的关键在于正确获取`<select>`元素,利用JavaScript或jQuery操作`<option>`元素,并绑定合适的事件触发互换。在VS2008环境下,可以方便地进行网页设计和开发,结合HTML、...
当用户选择一项并触发移动操作时,JavaScript会修改DOM(文档对象模型),将选中的项从一个`<select>`移到另一个。这里提到的“Map的遍历”可能指的是JavaScript中的Map数据结构,它被用来存储和管理数据键值对,...
这两个文件应当在HTML页面中正确引用,以便Select2库正常工作。 在实际应用中,我们通常会在文档头部引入`select2.min.css`,并在脚本部分引入`select2.min.js`,并确保在DOM加载完成后初始化Select2。例如: ```...
根据提供的文件内容,我们可以提炼出以下关于JavaScript实现两个select下拉框选项左移右移的知识点: 1. 通过JavaScript实现两个下拉框间选项的转移是常见的前端技术应用场景。它允许用户通过简单的操作来移动元素...
接下来,我们需要使用 jQuery 来处理按钮点击事件,实现在两个 select 之间移动选中项的功能。在 `<script>` 标签中添加以下 JavaScript 代码: ```javascript $(document).ready(function() { // 当点击“移至...
本项目就是利用JavaScript实现的一个功能,允许用户在两个列表框之间以及列表内部移动数据项。以下是对这个程序代码的详细解析: 1. **列表框(List Box)**: 列表框是HTML中的一种常见元素,通常用`<select>`...
利用js完成两个下拉列表中元素的移动,而且可以实现自身下拉列表元素的上下移动!
在本文中,我们将深入探讨如何实现两个`select`元素之间的多选选项相互移动的功能,以及相关的JavaScript代码示例。在Web开发中,这样的功能常见于用户需要在多个选项中进行选择并分配的情况,例如角色分配或者分类...
对于左右移动,我们可以假设存在两个`<select>`元素,分别表示“左侧列表”和“右侧列表”。用户可以将“左侧列表”的选项移动到“右侧列表”,反之亦然。这涉及到从一个`<select>`中移除元素并将其添加到另一个`...
本文将深入探讨如何使用jQuery实现一个类似Struts2中的`optiontransferselect`标签的功能,即在两个下拉框之间进行选项的互选和上下移动。 首先,我们需要了解`optiontransferselect`的基本概念。在Struts2框架中,...
这两个函数都接受两个参数:direct用于指示移动的方向,selectId是select元素的ID。 函数UpOrDown通过定义一个临时数组tempOptions来保存将要移动的option项。根据移动方向,它会调整tempOptions中的元素顺序,然后...
minimumInputLength: 2, // 搜索至少输入两个字符 maximumSelectionLength: 3, // 最多选三个 }); ``` 4. **监听事件**:select2.js提供了丰富的事件接口,可以监听用户的选择行为,实现动态响应: ```...
总结,这个功能通过JavaScript和HTML的`select`标签实现了在两个下拉列表之间动态移动选项的功能,方便用户在多个选项中进行选择。在实际应用中,可以根据需求进行调整和扩展,例如增加验证、批量操作等高级功能。...
Js实现两个Select标签中的选项之间的移动
如果只提供了两个参数,选项的值将默认为其显示文本。 ```javascript function selectOptionAdd(oSelect, sName, sValue) { var oOption = document.createElement("option"); oOption.appendChild(document....
首先找到当前行的下一个兄弟节点,然后调用`swapNode`函数交换这两个节点的位置,从而实现行向下移动。 ##### 5. 将某一行向上移动 ```javascript function moveUp(_a) { var _row = _a.parentNode.parentNode; ...