基于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 相关文章推荐
jQuery UI Dialog 创建友好的弹出对话框实现代码
Apr 12 Javascript
jQuery选择器源码解读(八):addCombinator函数
Mar 31 Javascript
JavaScript使用cookie记录临时访客信息的方法
Apr 07 Javascript
jscript读写二进制文件的方法
Apr 22 Javascript
js实现头像图片切割缩放及无刷新上传图片的方法
Jul 17 Javascript
浅析AngularJS Filter用法
Dec 28 Javascript
jquery实现弹窗功能(窗口居中显示)
Feb 27 Javascript
重新理解JavaScript的六种继承方式
Mar 24 Javascript
详解Koa中更方便简单发送响应的方式
Jul 20 Javascript
基于Vue实现图片在指定区域内移动的思路详解
Nov 11 Javascript
jquery实现弹窗(系统提示框)效果
Dec 10 jQuery
jQuery实现动态操作table行
Nov 23 jQuery
基于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 smarty模版引擎中变量操作符及使用方法
2009/12/11 PHP
array_multisort实现PHP多维数组排序示例讲解
2011/01/04 PHP
PHP遍历数组的三种方法及效率对比分析
2015/02/12 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
window.open()弹出居中的窗口
2007/02/01 Javascript
一个JS的日期格式化算法示例
2013/07/31 Javascript
JavaScript获取网页支持表单字符集的方法
2015/04/02 Javascript
利用Node.JS实现邮件发送功能
2016/10/21 Javascript
js技巧之十几行的代码实现vue.watch代码
2018/06/09 Javascript
使用异步组件优化Vue应用程序的性能
2019/04/28 Javascript
送你43道JS面试题(收藏)
2019/06/17 Javascript
layui清空,重置表单数据的实例
2019/09/12 Javascript
JavaScript正则表达式验证登录实例
2020/03/18 Javascript
浅析vue cli3 封装Svgicon组件正确姿势(推荐)
2020/04/27 Javascript
原生js实现自定义难度的扫雷游戏
2021/01/22 Javascript
[46:32]Fnatic vs OG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python 用户登录验证的小例子
2013/03/06 Python
python的正则表达式re模块的常用方法
2013/03/09 Python
Python实现计算文件夹下.h和.cpp文件的总行数
2015/04/23 Python
Python中 Lambda表达式全面解析
2016/11/28 Python
Python正则替换字符串函数re.sub用法示例
2017/01/19 Python
Python数据结构与算法之列表(链表,linked list)简单实现
2017/10/30 Python
Python爬虫番外篇之Cookie和Session详解
2017/12/27 Python
selenium3+python3环境搭建教程图解
2018/12/07 Python
解决django后台管理界面添加中文内容乱码问题
2019/11/15 Python
python保留格式汇总各部门excel内容的实现思路
2020/06/01 Python
python def 定义函数,调用函数方式
2020/06/02 Python
如何利用cmp命令比较文件
2013/09/23 面试题
保护动物的标语
2014/06/11 职场文书
2014年学校领导班子对照检查材料
2014/09/19 职场文书
2015年青年志愿者协会工作总结
2015/04/27 职场文书
乡镇保密工作承诺书
2015/05/04 职场文书
起诉意见书范文
2015/05/19 职场文书
甲午风云观后感
2015/06/02 职场文书
python文本处理的方案(结巴分词并去除符号)
2021/05/26 Python
MySQL数据库配置信息查看与修改方法详解
2022/06/25 MySQL