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中直接引用Microsoft的COM生成Word
Jan 20 Javascript
JavaScript中具名函数的多种调用方式总结
Nov 08 Javascript
js获取当前日期时间及其它操作汇总
Apr 17 Javascript
最细致的vue.js基础语法 值得收藏!
Nov 03 Javascript
jquery实现数字输入框
Feb 22 Javascript
JS实现中文汉字按拼音排序的方法
Oct 09 Javascript
vue中element 上传功能的实现思路
Jul 06 Javascript
Vue中使用create-keyframe-animation与动画钩子完成复杂动画
Apr 09 Javascript
JS合并两个数组的3种方法详解
Oct 24 Javascript
解决包含在label标签下的checkbox在ie8及以下版本点击事件无效果兼容的问题
Oct 27 Javascript
javascript 数组精简技巧小结
Feb 26 Javascript
vue-cli4.x创建企业级项目的方法步骤
Jun 18 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
linux iconv方法的使用
2011/10/01 PHP
php fsockopen解决办法 php实现多线程
2014/01/20 PHP
在PHP模板引擎smarty生成随机数的方法和math函数详解
2014/04/24 PHP
PHP exif扩展方法开启详解
2014/07/28 PHP
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
开发 Internet Explorer 右键功能表(ContextMenu)
2013/07/03 Javascript
浅析用prototype定义自己的方法
2013/11/14 Javascript
node.js中的fs.fchmodSync方法使用说明
2014/12/16 Javascript
JS+CSS实现闪烁字体效果代码
2016/04/05 Javascript
Bootstrap模块dropdown实现下拉框响应
2016/05/22 Javascript
js 轮播效果实例分享
2016/12/28 Javascript
JS实现给对象动态添加属性的方法
2017/01/05 Javascript
详解bootstrap的modal-remote两种加载方式【强化】
2017/01/27 Javascript
JS和canvas实现俄罗斯方块
2017/03/14 Javascript
js图片放大镜实例讲解(必看篇)
2017/07/17 Javascript
PHP自动加载autoload和命名空间的应用小结
2017/12/01 Javascript
angularjs 获取默认选中的单选按钮的value方法
2018/02/28 Javascript
Layui 数据表格批量删除和多条件搜索的实例
2019/09/04 Javascript
js实现鼠标点击页面弹出自定义文字效果
2019/12/24 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
python使用内存zipfile对象在内存中打包文件示例
2014/04/30 Python
python采集博客中上传的QQ截图文件
2014/07/18 Python
对python中的xlsxwriter库简单分析
2018/05/04 Python
python自动化工具之pywinauto实例详解
2019/08/26 Python
解决pyPdf和pyPdf2在合并pdf时出现异常的问题
2020/04/03 Python
绿色美容,有机护肤品和化妆品:Safe & Chic
2018/10/29 全球购物
C#中有没有运算符重载?能否使用指针?
2014/05/05 面试题
电子商务专业实习生自我鉴定
2013/09/24 职场文书
博士生入学考试推荐信
2013/11/17 职场文书
企业家王石演讲稿:坚持与放下
2014/04/27 职场文书
2014年团队工作总结
2014/11/24 职场文书
逃课检讨书范文
2015/05/06 职场文书
让人感觉高大上的讲话稿怎么写?
2019/07/08 职场文书
【D4DJ】美少女DJ企划 动画将于明年冬季开播第2季
2022/04/11 日漫
Three.js实现雪糕地球的使用示例详解
2022/07/07 Javascript
Java Redisson多策略注解限流
2022/09/23 Java/Android