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 相关文章推荐
JQuery选择器特辑 详细小结
May 14 Javascript
jquery创建一个新的节点对象(自定义结构/内容)的好方法
Jan 21 Javascript
JavaScript实现网页图片等比例缩放实现代码及调用方式
Feb 25 Javascript
快速学习JavaScript的6个思维技巧
Oct 13 Javascript
利用bootstrapValidator验证UEditor
Sep 14 Javascript
利用JS实现页面删除并重新排序功能
Dec 09 Javascript
vue+vuex+axios+echarts画一个动态更新的中国地图的方法
Dec 19 Javascript
vue axios 在页面切换时中断请求方法 ajax
Mar 05 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
Mar 07 Javascript
js+canvas实现滑动拼图验证码功能
Mar 26 Javascript
基于JavaScript实现一个简单的Vue
Sep 26 Javascript
在react-antd中弹出层form内容传递给父组件的操作
Oct 24 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的call_user_func传reference引发的思考
2010/07/23 PHP
PHP计划任务、定时执行任务的实现代码
2011/04/23 PHP
跟我学Laravel之配置Laravel
2014/10/15 PHP
php实现每天自动变换随机问候语的方法
2015/05/12 PHP
WordPress免插件实现面包屑导航的示例代码
2020/08/20 PHP
javascript 一些用法小结
2009/09/11 Javascript
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
2009/11/12 Javascript
jQuery下扩展插件和拓展函数的写法(匿名函数使用的典型例子)
2010/10/20 Javascript
jQuery UI的Dialog无法提交问题的解决方法
2011/01/11 Javascript
16个最流行的JavaScript框架[推荐]
2011/05/29 Javascript
基于jquery实现的省市区级联无ajax
2013/09/24 Javascript
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
10个很棒的jQuery代码片段
2015/09/24 Javascript
js原型链与继承解析(初体验)
2016/05/09 Javascript
Javascript中prototype的使用详解
2016/06/18 Javascript
实例讲解DataTables固定表格宽度(设置横向滚动条)
2017/07/11 Javascript
vue-router路由懒加载和权限控制详解
2017/12/13 Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
2018/04/28 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
2019/05/10 Javascript
vue项目中使用vue-layer弹框插件的方法
2020/03/11 Javascript
有关Python的22个编程技巧
2018/08/29 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
2019/04/28 Python
django的csrf实现过程详解
2019/07/26 Python
Python流程控制 while循环实现解析
2019/09/02 Python
Python装饰器使用你可能不知道的几种姿势
2019/10/25 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
2020/05/13 Python
Python selenium爬虫实现定时任务过程解析
2020/06/08 Python
加拿大时尚床上用品零售商:QE Home | Quilts Etc
2018/01/22 全球购物
户外拓展活动方案
2014/02/11 职场文书
学校班班通实施方案
2014/06/11 职场文书
高中军训的心得体会
2014/09/01 职场文书
医院领导班子查摆问题对照检查材料思想汇报
2014/10/08 职场文书
五一劳动节慰问信
2015/02/14 职场文书
六五普法先进个人主要事迹材料
2015/11/03 职场文书
传单、海报早OUT了,另类传单营销方案送给你!
2019/07/15 职场文书
MongoDB使用profile分析慢查询的步骤
2021/04/30 MongoDB