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 动态添加事件代码
Nov 30 Javascript
JQuery Study Notes 学习笔记(一)
Aug 04 Javascript
javascript 全选与全取消功能的实现代码
Dec 23 Javascript
jQuery中after的两种用法实例
Jul 03 Javascript
减少访问DOM的次数提升javascript性能
Feb 24 Javascript
HTML5实现留言和回复页面样式
Jul 22 Javascript
js实现YouKu的漂亮搜索框效果
Aug 19 Javascript
Javascript计算二维数组重复值示例代码
Dec 18 Javascript
vue draggable resizable 实现可拖拽缩放的组件功能
Jul 15 Javascript
解决layer弹出层msg的文字不显示的问题
Sep 11 Javascript
javascript设计模式 ? 建造者模式原理与应用实例分析
Apr 10 Javascript
vue调用微信JSDK 扫一扫,相册等需要注意的事项
Jan 03 Vue.js
使用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类的使用 实例代码讲解
2009/12/28 PHP
收藏的PHP常用函数 推荐收藏保存
2010/02/21 PHP
php用正则表达式匹配URL的简单方法
2013/11/12 PHP
php教程之魔术方法的使用示例(php魔术函数)
2014/02/12 PHP
PHP中使用hidef扩展代替define提高性能
2015/04/09 PHP
PHP学习笔记之php文件操作
2016/06/03 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
2017/10/13 PHP
如何在PHP中使用AES加密算法加密数据
2020/06/24 PHP
JS trim去空格的最佳实践
2011/10/30 Javascript
jquery.validate的使用说明介绍
2013/11/12 Javascript
FireBug 调试JS入门教程 如何调试JS
2013/12/23 Javascript
jquery下div 的resize事件示例代码
2014/03/09 Javascript
nodejs中实现sleep功能实例
2015/03/24 NodeJs
JS集成fckeditor及判断内容是否为空的方法
2016/05/27 Javascript
AngularJs  unit-testing(单元测试)详解
2016/09/02 Javascript
Bootstrap框架实现广告轮播效果
2016/11/28 Javascript
利用js+css+html实现固定table的列头不动
2016/12/08 Javascript
JS实现仿饿了么在浏览器标签页失去焦点时网页Title改变
2017/06/01 Javascript
iview Upload组件多个文件上传的示例代码
2018/09/30 Javascript
M2实现Nodejs项目自动部署的方法步骤
2019/05/05 NodeJs
vue导航栏部分的动态渲染实例
2019/11/01 Javascript
解决vue+elementui项目打包后样式变化问题
2020/08/03 Javascript
python网络编程学习笔记(五):socket的一些补充
2014/06/09 Python
21行Python代码实现拼写检查器
2016/01/25 Python
Python学习之用pygal画世界地图实例
2017/12/07 Python
对python 匹配字符串开头和结尾的方法详解
2018/10/27 Python
对Python模块导入时全局变量__all__的作用详解
2019/01/11 Python
Python爬虫程序架构和运行流程原理解析
2020/03/09 Python
Python暴力破解Mysql数据的示例
2020/11/09 Python
前厅收银主管岗位职责
2014/02/04 职场文书
银行爱岗敬业演讲稿
2014/05/05 职场文书
责任心演讲稿
2014/05/14 职场文书
2015年城管执法工作总结
2015/07/23 职场文书
小学英语新课改心得体会
2016/01/22 职场文书
个人售房合同协议书
2016/03/21 职场文书
导游词幽默开场白
2019/06/26 职场文书