基于JQUERY的两个ListBox子项互相调整的实现代码


Posted in Javascript onMay 07, 2011

HTML:

<div id="divObj3" class="divContent"> 
<input id="hidColorSelect" name="ColorSelect" type="hidden" value="3,5,6,11,12,13,14" /> 
<table style="width: 100%; text-align: center;"> 
<tr class="tr"> 
<td class="tdr" align="center" width="50%"> 
<span id="ctl00_ContentPlaceHolder1_WebPanel4_Label7">未选择颜色</span> : 
</td> 
<td class="tdl" width="1%"> 
</td> 
<td class="tdr" align="center" width="50%"> 
<span id="ctl00_ContentPlaceHolder1_WebPanel4_Label8">已选择颜色</span> : 
</td> 
</tr> 
<tr class="tr"> 
<td align="right"> 
<select id="colorUnSelect" multiple="multiple" name="unSelectColors" ondblclick="listMove('colorSelect','colorUnSelect','hidColorSelect',true,this.selectedIndex)" size="8" style="height: 200px; width: 90%;"><option value="4">蓝色</option> 
<option value="21">红色132</option> 
</select> 
</td> 
<td> 
<img alt="" name="btnRAdd" id="btnRAdd1" src="/Content/images/%E4%B8%8B%E4%B8%80%E9%A1%B5.jpg" style="border-width: 0px;cursor:hand;" onclick="listMove('colorSelect','colorUnSelect','hidColorSelect',true)" /> 
<img alt="" name="btnRDrop" id="btnRDrop1" src="/Content/images/%E5%89%8D%E4%B8%80%E9%A1%B5.jpg" style="border-width: 0px;cursor:hand;" onclick="listMove('colorSelect','colorUnSelect','hidColorSelect',false)" /> 
</td> 
<td align="left"> 
<select id="colorSelect" multiple="multiple" name="selectColors" 
ondblclick="listMove('colorSelect','colorUnSelect','hidColorSelect',false,this.selectedIndex)" 
size="8" style="height: 200px; width: 90%;"> 
<option value="3">红色</option> 
<option value="5">紫色</option> 
<option value="6">黄色</option> 
<option value="11">黑色</option> 
<option value="12">白色</option> 
<option value="13">绿色</option> 
<option value="14">粉红色</option> 
</select> 
</td> 
</tr> 
</table> 
</div>

对应JS方法:
function listMove(main, follow, hidetextbox, isBack, index) { 
if (index < 0) 
return; 
var o = undefined; 
var source; 
var distinct; 
var dddd; 
if (!isBack) { 
//使用getElementById在IE6中存在BUG 
source = $('#' + main);// window.document.getElementById(main); 
distinct = $('#' + follow); //window.document.getElementById(follow); 
} 
else { 
source = $('#' + follow); // window.document.getElementById(follow); 
distinct = $('#' + main); // window.document.getElementById(main); 
} 
var hid = $('#' + hidetextbox)[0]; // document.getElementById(hidetextbox); 
if (index != undefined) { 
var op = "option:eq(" + index + ")"; 
source.find(op).each(function () { 
distinct.append("<option value='" + $(this).val() + "'>" + $(this).text() + "</option>"); 
$(this).remove(); 
}); 
} 
else { 
source.find("option:selected").each(function () { 
$(this).remove(); 
distinct.append("<option value='" + $(this).val() + "'>" + $(this).text() + "</option>"); 
}); 
} 
var str = ""; 
//遍历Listbox,取得选中项的值 
$('#' + main + ' option').each(function () { 
str += $(this).val() + ','; 
}); 
hid.value = str; 
}
Javascript 相关文章推荐
javascript appendChild,innerHTML,join性能比较代码
Aug 29 Javascript
js getElementsByTagName的简写方式
Jun 27 Javascript
扩展easyui.datagrid,添加数据loading遮罩效果代码
Nov 02 Javascript
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
Aug 23 Javascript
js防止表单重复提交实现代码
Sep 05 Javascript
Javascript全局变量var与不var的区别深入解析
Dec 09 Javascript
JS基于myFocus库实现各种功能的tab选项卡切换效果
Sep 19 Javascript
js点击按钮实现带遮罩层的弹出视频效果
Dec 19 Javascript
Vue项目组件化工程开发实践方案
Jan 09 Javascript
使用Vuex实现一个笔记应用的方法
Mar 13 Javascript
vue+Element中table表格实现可编辑(select下拉框)
May 21 Javascript
JavaScript实现队列结构过程
Dec 06 Javascript
基于jquery的lazy loader插件实现图片的延迟加载[简单使用]
May 07 #Javascript
基于jQuery的倒计时插件代码
May 07 #Javascript
基于Jquery的将DropDownlist的选中值赋给label的实现代码
May 06 #Javascript
jQuery 常见操作实现方式和常用函数方法总结
May 06 #Javascript
jQuery1.6 正式版发布并提供下载
May 05 #Javascript
High Performance JavaScript(高性能JavaScript)读书笔记分析
May 05 #Javascript
jQuery bind事件使用详解
May 05 #Javascript
You might like
PHP缓存技术的多种方法小结
2012/08/14 PHP
php利用新浪接口查询ip获取地理位置示例
2014/01/20 PHP
解决Yii2邮件发送结果返回成功,但接收不到邮件的问题
2017/05/23 PHP
js清空form表单中的内容示例
2014/05/20 Javascript
用javascript关闭本窗口技巧小结
2014/09/05 Javascript
node.js [superAgent] 请求使用示例
2015/03/13 Javascript
javascript实现自动输出文本(打字特效)
2015/08/27 Javascript
关于Vue.js一些问题和思考学习笔记(2)
2016/12/02 Javascript
实现两个文本框同时输入的实例
2017/09/25 Javascript
Javascript异步执行不按顺序解决方案
2020/04/30 Javascript
js+canvas实现画板功能
2020/09/13 Javascript
[16:01]夜魇凡尔赛茶话会 第二期01:你比划我猜
2021/03/11 DOTA
使用Python编写一个在Linux下实现截图分享的脚本的教程
2015/04/24 Python
Windows下Python使用Pandas模块操作Excel文件的教程
2016/05/31 Python
Python中的__slots__示例详解
2017/07/06 Python
Python实现简单生成验证码功能【基于random模块】
2018/02/10 Python
TensorFlow损失函数专题详解
2018/04/26 Python
Python使用ConfigParser模块操作配置文件的方法
2018/06/29 Python
Python3.6实现带有简单界面的有道翻译小程序
2019/04/16 Python
Python MySQLdb 执行sql语句时的参数传递方式
2020/03/04 Python
详解python如何引用包package
2020/06/07 Python
Python3中的tuple函数知识点讲解
2021/01/03 Python
FORZIERI澳大利亚站:全球顶级奢华配饰精品店
2016/12/31 全球购物
蒂芙尼澳大利亚官方网站:Tiffany&Co. Australia
2017/08/27 全球购物
WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
2015/08/25 面试题
生物化工工艺专业应届生求职信
2013/10/08 职场文书
大学毕业生通用自荐信范文
2013/10/31 职场文书
工作个人的自我评价
2014/01/14 职场文书
校园摄影活动策划方案
2014/02/05 职场文书
《大自然的语言》教学反思
2014/04/08 职场文书
公司担保书格式范文
2014/05/12 职场文书
2014年党员个人剖析材料
2014/10/08 职场文书
学院党委班子四风问题自查报告及整改措施
2014/10/25 职场文书
技能培训通讯稿
2015/07/18 职场文书
Django项目如何正确配置日志(logging)
2021/04/29 Python
python树莓派通过队列实现进程交互的程序分析
2021/07/04 Python