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 相关文章推荐
js实时获取系统当前时间实例代码
Jun 28 Javascript
jquery.ui.draggable中文文档(原文翻译)
Nov 15 Javascript
Javascript中的匿名函数与封装介绍
Mar 15 Javascript
javascript自定义右键弹出菜单实现方法
May 25 Javascript
jquery实现鼠标经过显示下划线的渐变下拉菜单效果代码
Aug 24 Javascript
JS实现获取剪贴板内容的方法
Jun 21 Javascript
基于CSS3和jQuery实现跟随鼠标方位的Hover特效
Jul 25 Javascript
JS 组件系列之 bootstrap treegrid 组件封装过程
Apr 28 Javascript
vue cli webpack中使用sass的方法
Feb 24 Javascript
Vue slot用法(小结)
Oct 22 Javascript
深入理解使用Vue实现Context-Menu的思考与总结
Mar 09 Javascript
详解从vue-loader源码分析CSS Scoped的实现
Sep 23 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脚本的10个技巧(2)
2006/10/09 PHP
Codeigniter框架的更新事务(transaction)BUG及解决方法
2014/07/25 PHP
php array_slice 取出数组中的一段序列实例
2016/11/04 PHP
PHP大文件切割上传功能实例分析
2019/07/01 PHP
php的命名空间与自动加载实现方法
2019/08/25 PHP
jQuery.fn和jQuery.prototype区别介绍
2013/10/05 Javascript
JS、CSS加载中的小问题探讨
2013/11/26 Javascript
使用AngularJS制作一个简单的RSS阅读器的教程
2015/06/18 Javascript
纯js模拟div层弹性运动的方法
2015/07/27 Javascript
js实现鼠标点击文本框自动选中内容的方法
2015/08/20 Javascript
简单谈谈JavaScript的同步与异步
2015/12/31 Javascript
javascript表达式和运算符详解
2017/02/07 Javascript
vue-better-scroll 的使用实例代码详解
2018/12/03 Javascript
vue-cli脚手架引入弹出层layer插件的几种方法
2019/06/24 Javascript
如何使用JavaScript实现栈与队列
2019/06/24 Javascript
JS中this的4种绑定规则详解
2020/02/04 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 大神专访第二弹!
2014/05/20 DOTA
Python中实现远程调用(RPC、RMI)简单例子
2014/04/28 Python
深入讲解Python编程中的字符串
2015/10/14 Python
python 网络爬虫初级实现代码
2016/02/27 Python
python编写简单爬虫资料汇总
2016/03/22 Python
Pycharm之快速定位到某行快捷键的方法
2019/01/20 Python
python实现字符串加密成纯数字
2019/03/19 Python
Python基本数据结构之字典类型dict用法分析
2019/06/08 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
2019/08/12 Python
python海龟绘图之画国旗实例代码
2020/11/11 Python
基于Django集成CAS实现流程详解
2020/11/28 Python
python安装mysql的依赖包mysql-python操作
2021/01/01 Python
matplotlib实现数据实时刷新的示例代码
2021/01/05 Python
Python实现京东抢秒杀功能
2021/01/25 Python
美国专业消费电子及摄影器材网站:B&H Photo Video
2019/12/18 全球购物
乌克兰网上珠宝商店:GoldSoveren
2020/03/31 全球购物
《童年》教学反思
2014/02/18 职场文书
教师三严三实学习心得体会
2014/10/11 职场文书
Python基础之变量的相关知识总结
2021/06/23 Python
教你如何让spark sql写mysql的时候支持update操作
2022/02/15 MySQL