基于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 相关文章推荐
extjs 的权限问题 要求控制的对象是 菜单,按钮,URL
Mar 09 Javascript
javascript题目,重写函数让其无限相加
Feb 15 Javascript
浅谈JSON中stringify 函数、toJosn函数和parse函数
Jan 26 Javascript
JavaScript数组随机排列实现随机洗牌功能
Mar 19 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
Oct 25 Javascript
使用vue-router为每个路由配置各自的title
Jul 30 Javascript
浅谈vue方法内的方法使用this的问题
Sep 15 Javascript
JS返回页面时自动回滚到历史浏览位置
Sep 26 Javascript
详解node字体压缩插件font-spider的用法
Sep 28 Javascript
Angular ElementRef简介及其使用
Oct 01 Javascript
vue实现todolist功能、todolist组件拆分及todolist的删除功能
Apr 11 Javascript
vue+element实现动态加载表单
Dec 13 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
dedecms模版制作使用方法
2007/04/03 PHP
php array_merge下进行数组合并的代码
2008/07/22 PHP
JS中setInterval、setTimeout不能传递带参数的函数的解决方案
2013/04/28 Javascript
jQuery模拟新浪微博首页滚动效果的方法
2015/03/11 Javascript
jQuery插件animateSlide制作多点滑动幻灯片
2015/06/11 Javascript
黑帽seo劫持程序,js劫持搜索引擎代码
2015/09/15 Javascript
JS获取文件大小方法小结
2015/12/08 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
jQuery中事件与动画的总结分享
2016/05/24 Javascript
AngularJS实现单独作用域内的数据操作
2016/09/05 Javascript
vue超时计算的组件实例代码
2018/07/09 Javascript
vue新建项目并配置标准路由过程解析
2019/12/09 Javascript
15个简单的JS编码标准让你的代码更整洁(小结)
2020/07/16 Javascript
python实现的登陆Discuz!论坛通用代码分享
2014/07/11 Python
Python+Opencv识别两张相似图片
2020/03/23 Python
Python实现将16进制字符串转化为ascii字符的方法分析
2017/07/21 Python
python 将list转成字符串,中间用符号分隔的方法
2018/10/23 Python
Python操作json的方法实例分析
2018/12/06 Python
python面向对象实现名片管理系统文件版
2019/04/26 Python
pandas DataFrame 警告(SettingWithCopyWarning)的解决
2019/07/23 Python
TensorFlow命名空间和TensorBoard图节点实例
2020/01/23 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
2020/02/28 Python
详解pycharm2020.1.1专业版安装指南(推荐)
2020/08/07 Python
如何设置PyCharm中的Python代码模版(推荐)
2020/11/20 Python
HTML5 Canvas锯齿图代码实例
2014/04/10 HTML / CSS
泰国王权免税店官方网站:KingPower
2019/03/11 全球购物
俄罗斯苹果优质经销商商店:iPort
2020/05/27 全球购物
历史专业学生的自我评价
2014/02/28 职场文书
廉洁使者实施方案
2014/03/29 职场文书
授权委托书
2015/01/28 职场文书
小学教师师德师风承诺书
2015/04/28 职场文书
因个人工作失误检讨书
2019/06/21 职场文书
创业不要错过,这4种餐饮新模式
2019/07/18 职场文书
开发一个封装iframe的vue组件
2021/03/29 Vue.js
fastdfs+nginx集群搭建的实现
2021/03/31 Servers
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
2021/04/13 Python