基于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 相关文章推荐
js 数组的for循环到底应该怎么写?
May 31 Javascript
js 关于=+与+=日期函数使用说明(赋值运算符)
Nov 15 Javascript
js iframe跨域访问(同主域/非同主域)分别深入介绍
Jan 24 Javascript
js获取下拉列表框中的value和text的值示例代码
Jan 11 Javascript
Bootstrap每天必学之折叠(Collapse)插件
Apr 25 Javascript
JS中位置与大小的获取方法
Nov 22 Javascript
如何在Angular2中使用jQuery及其插件的方法
Feb 09 Javascript
基于jQuery代码实现圆形菜单展开收缩效果
Feb 13 Javascript
js 数组详细操作方法及解析合集
Jun 01 Javascript
Vue使用NPM方式搭建项目
Oct 25 Javascript
解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题
Nov 20 Javascript
Vue SPA 首屏优化方案
Feb 26 Vue.js
基于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实现信用卡校验位算法THE LUHN MOD-10示例
2014/05/07 PHP
PHP的静态方法与普通方法用法实例分析
2019/09/26 PHP
ThinkPHP5&amp;5.1实现验证码的生成、使用及点击刷新功能示例
2020/02/07 PHP
JavaScript window.setTimeout() 的详细用法
2009/11/04 Javascript
js中的this关键字详解
2013/09/25 Javascript
基于jquery插件制作左右按钮与标题文字图片切换效果
2013/11/07 Javascript
JavaScript检测上传文件大小的方法
2015/07/22 Javascript
WEB前端开发框架Bootstrap3 VS Foundation5
2016/05/16 Javascript
angular中实现控制器之间传递参数的方式
2017/04/24 Javascript
JS实现的四级密码强度检测功能示例
2017/05/11 Javascript
js+html5实现页面可刷新的倒计时效果
2017/07/15 Javascript
Bootstrap滚动监听组件scrollspy.js使用方法详解
2017/07/20 Javascript
ES7中利用Await减少回调嵌套的方法详解
2017/11/01 Javascript
JS module的导出和导入的实现代码
2019/02/25 Javascript
用原生 JS 实现 innerHTML 功能实例详解
2019/04/03 Javascript
ES6基础之字符串和函数的拓展详解
2019/08/22 Javascript
layui table 列宽百分比显示的实现方法
2019/09/28 Javascript
nodeJs的安装与npm全局环境变量的配置详解
2020/01/06 NodeJs
微信小程序仿抖音视频之整屏上下切换功能的实现代码
2020/05/24 Javascript
解决vue项目router切换太慢问题
2020/07/19 Javascript
用vue写一个日历
2020/11/02 Javascript
pandas中apply和transform方法的性能比较及区别介绍
2018/10/30 Python
Python3.5 处理文本txt,删除不需要的行方法
2018/12/10 Python
Python基础教程之if判断,while循环,循环嵌套
2019/04/25 Python
CSS3中的clip-path使用攻略
2015/08/03 HTML / CSS
Banggood官网:面向全球客户的综合商城
2017/04/19 全球购物
伯克斯奥特莱斯:Burkes Outlet
2019/03/30 全球购物
大学生入党思想汇报
2014/01/01 职场文书
婚前财产公证书
2014/04/10 职场文书
软件售后服务方案
2014/05/29 职场文书
人力资源管理求职信
2014/08/07 职场文书
老龄工作先进事迹
2014/08/15 职场文书
银行催款通知书
2015/04/17 职场文书
惊涛骇浪观后感
2015/06/05 职场文书
vue实现简单数据双向绑定
2021/04/28 Vue.js
HTML中的表单Form实现居中效果
2021/05/25 HTML / CSS