jquery移动listbox的值原理及代码


Posted in Javascript onMay 03, 2013

jQuery操作listbox原理并不难,就是将listbox中的选中项进行移动,实现我们需要的移动效果。我在例子中使用了json数据结构来动态绑定listbox,这样也可以熟悉一下json的使用方法。

先看看简单的html,因为服务器控件会自动转换为html标签,所以在例子中,我并没有用服务器控件。如下:
<asp:ListBox></asp:ListBox>
会自动转换成:<select></select>
html代码如下:

<div style="width:240px;"> 
<div style="width:100px;float:left;"> 
<select size="4" name="listLeft" id="listLeft" class="normal"> 
</select> 
</div> 
<div style="width:40px;float:left; padding-top:20px;"> 
<input type="button" id="btnRight" value=">>" /><br /> 
<input type="button" id="btnLeft" value="<<" /> 
</div> 
<div style="width:100px;float:left;"> 
<select size="4" name="listRight" id="listRight" class="normal"> 
</select> 
</div> 
</div>

json数据结构如下:
//data 
var vData = { "datalist": 
[ 
{ "data": "jQuery", "text": "jQuery" }, 
{ "data": "Asp.net", "text": "Asp.net" }, 
{ "data": "internet", "text": "internet" }, 
{ "data": "Sql", "text": "Sql" } 
] 
};

下边就是jQuery实现代码,其中关键地方做了注释。
//bind data 
var vlist = ""; 
//遍历json数据 
jQuery.each(vData.datalist, function(i, n) { 
vlist += "<option value=" + n.data + ">" + n.text + "</option>"; 
}); 
//绑定数据到listLeft 
$("#listLeft").append(vlist); 
//left move 
$("#btnRight").click(function() { 
//数据option选中的数据集合赋值给变量vSelect 
var vSelect = $("#listLeft option:selected"); 
//克隆数据添加到listRight中 
vSelect.clone().appendTo("#listRight"); 
//同时移除listRight中的option 
vSelect.remove(); 
}); 
//right move 
$("#btnLeft").click(function() { 
var vSelect = $("#listRight option:selected"); 
vSelect.clone().appendTo("#listLeft"); 
vSelect.remove(); 
});
Javascript 相关文章推荐
10款非常有用的 Ajax 插件分享
Mar 14 Javascript
Js操作Select大全(取值、设置选中等等)
Oct 29 Javascript
JS实现自定义简单网页软键盘效果代码
Nov 05 Javascript
浏览器兼容的JS写法总结
Apr 27 Javascript
多种jQuery绑定事件的实现方式
Jun 13 Javascript
修改Jquery Dialog 位置的实现方法
Aug 26 Javascript
遍历json 对象的属性并且动态添加属性的实现
Dec 02 Javascript
使用vue.js实现联动效果的示例代码
Jan 10 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
Mar 15 Javascript
关于JavaScript中forEach和each用法浅析
Jul 27 Javascript
Angular.js通过自定义指令directive实现滑块滑动效果
Oct 13 Javascript
react高阶组件添加和删除props
Apr 26 Javascript
使用Java实现简单的server/client回显功能的方法介绍
May 03 #Javascript
用原生JavaScript实现jQuery的$.getJSON的解决方法
May 03 #Javascript
基于KMP算法JavaScript的实现方法分析
May 03 #Javascript
JS动态获取当前时间,并写到特定的区域
May 03 #Javascript
JS实现商品倒计时实现代码
May 03 #Javascript
Javascript代码在页面加载时的执行顺序介绍
May 03 #Javascript
为什么要在引入的css或者js文件后面加参数的详细讲解
May 03 #Javascript
You might like
如何用php获取文件名后缀
2013/06/09 PHP
php+html5基于websocket实现聊天室的方法
2015/07/17 PHP
PHP 极验验证码实例讲解
2016/09/29 PHP
PHP串行化与反串行化实例分析
2016/12/27 PHP
phpstudy的php版本自由修改的方法
2017/10/18 PHP
Javascript代码混淆综合解决方案-Javascript在线混淆器
2006/12/18 Javascript
javascript 多种搜索引擎集成的页面实现代码
2010/01/02 Javascript
ECMAScript6函数默认参数
2015/06/12 Javascript
Vue 父子组件、组件间通信
2017/03/08 Javascript
使用jQuery,Angular实现登录界面验证码详解
2017/04/27 jQuery
React Native预设占位placeholder的使用
2017/09/28 Javascript
canvas轨迹回放功能实现
2017/12/20 Javascript
详解Vue-cli3 项目在安卓低版本系统和IE上白屏问题解决
2019/04/14 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
2019/04/18 Javascript
javascript 关于赋值、浅拷贝、深拷贝的个人理解
2019/11/01 Javascript
Vue 路由间跳转和新开窗口的方式(query、params)
2019/12/25 Javascript
[10:42]Team Liquid Vs Newbee
2018/06/07 DOTA
python将字典内容存入mysql实例代码
2018/01/18 Python
对python中Matplotlib的坐标轴的坐标区间的设定实例讲解
2018/05/25 Python
Python字典遍历操作实例小结
2019/03/05 Python
python的debug实用工具 pdb详解
2019/07/12 Python
Python如何实现在字符串里嵌入双引号或者单引号
2020/03/02 Python
520使用Python实现“我爱你”表白
2020/05/20 Python
python 窃取摄像头照片的实现示例
2021/01/08 Python
python利用proxybroker构建爬虫免费IP代理池的实现
2021/02/21 Python
浅谈three.js中的needsUpdate的应用
2012/11/12 HTML / CSS
Under Armour安德玛中国官网:美国高端运动科技品牌
2018/03/09 全球购物
时尚孕妇装:Ingrid & Isabel
2019/05/08 全球购物
兰蔻法国官方网站:Lancôme法国
2020/02/22 全球购物
不开辟用于交换数据的临时空间,如何完成字符串的逆序
2012/12/02 面试题
与UNIX有关的几个名词
2015/09/17 面试题
求职信内容考虑哪几点
2013/10/05 职场文书
音乐学专业求职信
2014/07/22 职场文书
个人批评与自我批评发言稿
2014/09/28 职场文书
革命电影观后感
2015/06/18 职场文书
接触艺术对孩子学习思维有益
2019/08/06 职场文书