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 相关文章推荐
Javascript 文件夹选择框的两种解决方案
Jul 01 Javascript
用Javascript 获取页面元素的位置的代码
Sep 25 Javascript
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
Dec 12 Javascript
jquery自定义下拉列表示例
Apr 25 Javascript
Blocksit插件实现瀑布流数据无限( 异步)加载
Jun 20 Javascript
JavaScript利用正则表达式去除日期中的“-”
Jul 01 Javascript
JS模式之单例模式基本用法
Jun 30 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
Jun 17 Javascript
Vue中如何实现轮播图的示例代码
Jul 27 Javascript
angular+ionic返回上一页并刷新页面
Aug 08 Javascript
JavaScript requestAnimationFrame动画详解
Sep 14 Javascript
用Vue.js方法创建模板并使用多个模板合成
Jun 28 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
织梦模板标记简介
2007/03/11 PHP
php上的memcache和memcached两个pecl库
2010/03/29 PHP
有关PHP性能优化的介绍
2013/06/20 PHP
thinkphp关于简单的权限判定方法
2017/04/03 PHP
PHP简单实现欧拉函数Euler功能示例
2017/11/06 PHP
基于jquery DOM写的类似微博发布的效果
2012/10/20 Javascript
javaScript 删除字符串空格多种方法小结
2012/10/24 Javascript
Jquery通过Ajax方式来提交Form表单的具体实现
2013/11/07 Javascript
用JS实现3D球状标签云示例代码
2013/12/01 Javascript
用jquery等比例控制图片宽高的具体实现
2014/01/28 Javascript
让jQuery Mobile不显示讨厌loading界面的方法
2014/02/19 Javascript
JavaScript设计模式之观察者模式(发布者-订阅者模式)
2014/09/24 Javascript
jquery获取radio值(单选组radio)
2014/10/16 Javascript
AngularJS  双向数据绑定详解简单实例
2016/10/20 Javascript
微信小程序(三):网络请求
2017/01/13 Javascript
node.js中fs.stat与fs.fstat的区别详解
2017/06/01 Javascript
js中less常用的方法小结
2017/08/09 Javascript
通过实例解析js简易模块加载器
2019/06/17 Javascript
高效jQuery选择器的5个技巧实例分析
2019/11/26 jQuery
[43:43]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第一场 11.22
2020/11/24 DOTA
Python中return语句用法实例分析
2015/08/04 Python
Python基础中所出现的异常报错总结
2016/11/19 Python
Python基于win32ui模块创建弹出式菜单示例
2018/05/09 Python
详解DeBug Python神级工具PySnooper
2019/07/03 Python
python读写csv文件的方法
2019/08/13 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
html5定制表单_动力节点Java学院整理
2017/07/11 HTML / CSS
静态变量和实例变量的区别
2015/07/07 面试题
大学生自我评价怎样写好
2013/10/23 职场文书
小区门卫岗位职责
2013/12/31 职场文书
《三个小伙伴》教学反思
2014/04/11 职场文书
我的未来不是梦演讲稿
2014/09/02 职场文书
置业顾问岗位职责
2015/02/09 职场文书
2015年试用期自我评价范文
2015/03/10 职场文书
幼儿园园长安全责任书
2015/05/08 职场文书
教师考核鉴定意见
2015/06/05 职场文书