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模拟多线程
Feb 07 Javascript
ExtJS 2.0 GridPanel基本表格简明教程
May 25 Javascript
jquery.cvtooltip.js 基于jquery的气泡提示插件
Nov 19 Javascript
javascript操作html控件实例(javascript添加html)
Dec 02 Javascript
node.js应用后台守护进程管理器Forever安装和使用实例
Jun 01 Javascript
JQuery显示、隐藏div的几种方法简明总结
Apr 16 Javascript
jQuery模仿阿里云购买服务器选择购买时间长度的代码
Apr 29 Javascript
jQuery展示表格点击变色、全选、删除
Jan 05 Javascript
微信小程序开发教程之增加mixin扩展
Aug 09 Javascript
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
Apr 17 jQuery
基于vue实现一个禅道主页拖拽效果
May 27 Javascript
JS合并两个数组的3种方法详解
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 处理上百万条的数据库如何提高处理查询速度
2010/02/08 PHP
CodeIgniter错误mysql_connect(): No such file or directory解决方法
2014/09/06 PHP
CI框架中数据库操作函数$this-&gt;db-&gt;where()相关用法总结
2016/05/17 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
2016/09/14 PHP
PHP实现的mongoDB数据库操作类完整实例
2018/04/10 PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
2020/04/07 PHP
jquery 插件 任意位置浮动固定层
2008/12/25 Javascript
Javascript OOP之面向对象
2016/07/31 Javascript
浅谈Web页面向后台提交数据的方式和选择
2016/09/23 Javascript
整理一下常见的IE错误
2016/11/18 Javascript
Vue2.x中的父组件传递数据至子组件的方法
2017/05/01 Javascript
vuejs项目打包之后的首屏加载优化及打包之后出现的问题
2018/04/01 Javascript
利用npm 安装删除模块的方法
2018/05/15 Javascript
微信小程序文章详情页面实现代码
2018/09/10 Javascript
vue富文本编辑器组件vue-quill-edit使用教程
2018/09/21 Javascript
JavaScript实现电灯开关小案例
2020/03/30 Javascript
微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现
2020/08/19 Javascript
jQuery实现动态操作table行
2020/11/23 jQuery
[45:18]完美世界DOTA2联赛循环赛 PXG vs IO 第二场 11.06
2020/11/09 DOTA
[01:21]DOTA2 新英雄 森海飞霞
2020/12/18 DOTA
python 字符串追加实例
2019/07/20 Python
ORM Django 终端打印 SQL 语句实现解析
2019/08/09 Python
K最近邻算法(KNN)---sklearn+python实现方式
2020/02/24 Python
python 安装impala包步骤
2020/03/28 Python
html5 canvas 简单画板实现代码
2012/01/05 HTML / CSS
美国顶尖折扣时尚购物网:Bluefly
2016/08/28 全球购物
Wiggle美国:英国骑行、跑步、游泳、铁人三项商店
2018/10/27 全球购物
英国绿色商店:Natural Collection
2019/05/03 全球购物
安踏广告词改编版
2014/03/21 职场文书
大学生党性分析材料
2014/12/19 职场文书
清明节寄语2015
2015/03/23 职场文书
培训班开班主持词
2015/07/02 职场文书
2015-2016年小学教导工作总结
2015/07/21 职场文书
TensorFlow中tf.batch_matmul()的用法
2021/06/02 Python
Python实现学生管理系统并生成exe可执行文件详解流程
2022/01/22 Python
本地搭建minio文件服务器(使用bat脚本启动)的方法
2022/07/15 Servers