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 相关文章推荐
extjs 学习笔记(二) Ext.Element类
Oct 13 Javascript
jquery组件使用中遇到的问题整理及解决
Feb 21 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
Aug 25 Javascript
JQuery移动页面开发之屏幕方向改变与滚屏的实现
Dec 03 Javascript
JavaScript常用基础知识强化学习
Dec 09 Javascript
基于jQuery1.9版本如何判断浏览器版本类型
Jan 12 Javascript
js判断图片加载完成后获取图片实际宽高的方法
Feb 25 Javascript
ES6新特性之Object的变化分析
Mar 31 Javascript
jQuery图片缩放插件smartZoom使用实例详解
Aug 25 jQuery
vue+elementUI实现图片上传功能
Aug 20 Javascript
浅析vue-router中params和query的区别
Dec 24 Javascript
JavaScript设计模式---单例模式详解【四种基本形式】
May 16 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中__destruct与register_shutdown_function执行的先后顺序问题
2014/10/17 PHP
PHP中new static() 和 new self() 的区别介绍
2015/01/09 PHP
Zend Framework入门教程之Zend_Mail用法示例
2016/12/08 PHP
详解PHP防止直接访问.php 文件的实现方法
2017/07/28 PHP
PHPUnit + Laravel单元测试常用技能
2019/11/06 PHP
js 用CreateElement动态创建标签示例
2013/11/20 Javascript
jQuery中:empty选择器用法实例
2014/12/30 Javascript
JavaScript中的变量定义与储存介绍
2014/12/31 Javascript
详解JavaScript的while循环的使用
2015/06/03 Javascript
关于javascript中dataset的问题小结
2015/11/16 Javascript
Angular学习笔记之angular的$filter服务浅析
2016/11/12 Javascript
AngularJS实现的回到顶部指令功能实例
2017/05/17 Javascript
JS实现websocket长轮询实时消息提示的效果
2017/10/10 Javascript
vue实现图片加载完成前的loading组件方法
2018/02/05 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
2019/05/14 Javascript
Node.js操作MongoDB数据库实例分析
2020/01/19 Javascript
基于Vue sessionStorage实现保留搜索框搜索内容
2020/06/01 Javascript
Vue使用预渲染代替SSR的方法
2020/07/02 Javascript
[59:44]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 paiN vs iG
2018/03/31 DOTA
python利用matplotlib库绘制饼图的方法示例
2016/12/18 Python
Keras预训练的ImageNet模型实现分类操作
2020/07/07 Python
python SOCKET编程基础入门
2021/02/27 Python
ASOS亚洲:ASOS Asia
2018/03/04 全球购物
Sneaker Studio波兰:购买运动鞋
2018/04/28 全球购物
DJI全球:DJI Global
2021/03/15 全球购物
企业家王石演讲稿:坚持与放下
2014/04/27 职场文书
学校安全生产承诺书
2014/05/23 职场文书
银行竞聘上岗演讲稿
2014/09/12 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书
上课说话检讨书
2015/01/27 职场文书
公司员工宿舍管理制度
2015/08/03 职场文书
合作合同协议书
2016/03/21 职场文书
2019年最新感恩节祝福语(28句)
2019/11/27 职场文书
Python爬虫爬取全球疫情数据并存储到mysql数据库的步骤
2021/03/29 Python
go语言中fallthrough的用法说明
2021/05/06 Golang
一些让Python代码简洁的实用技巧总结
2021/08/23 Python