jquery控制listbox中项的移动并排序的实现代码


Posted in Javascript onSeptember 28, 2010

首先是html代码,页面上放2个listbox控件和2个按钮用于移动项目

<table border="0"> 
<tr> 
<td width="156">全部水果:</td> 
<td width="142"> </td> 
<td width="482">我挑选的:</td> 
</tr> 
<tr> 
<td rowspan="2"><asp:ListBox SelectionMode="Multiple" ID="listall" Rows="12" Width="156" runat="server"></asp:ListBox></td> 
<td height="41" align="center"> 
<input type="button" id="btnleftmove" value=">>>" onclick="move('listall','listmy');"/><br /><br /> 
<input type="button" id="btnrighttmove" value="<<<" onclick="move('listmy','listall');"/> 
</td> 
<td rowspan="2"><asp:ListBox SelectionMode="Multiple" ID="listmy" Rows="12" Width="156" runat="server"></asp:ListBox></td> 
</tr> 
</table>

下面是在.cs文件中绑定一些数据

public partial class _Default : System.Web.UI.Page 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 
if (!IsPostBack) 
{ 
BindData(); 
} 
} 
private void BindData() 
{ 
ArrayList list=DataArray(); 
for (int i = 0; i < list.Count; i++) 
{ 
listall.Items.Add(list[i].ToString()); 
listall.Items[i].Attributes["tag"] = i.ToString(); //用tag记录排序字段 
} 
} 
private ArrayList DataArray() 
{ 
//用到的一些数据,这里已默认按第一个字的拼音排序 
ArrayList list = new ArrayList(); 
list.Add("草莓"); 
list.Add("梨"); 
list.Add("桔子"); 
list.Add("芒果"); 
list.Add("苹果"); 
list.Add("香蕉"); 
return list; 
} 
}

在实际使用时可根据数据库中的字段排序
下面是jquery的代码:

//移动用户选择的角色 
//setname:要移出数据的列表名称 getname:要移入数据的列表名称 
function move(setname,getname) 
{ 
var size=$("#"+setname+" option").size(); 
var selsize=$("#"+setname+" option:selected").size(); 
if(size>0&&selsize>0) 
{ 
$.each($("#"+setname+" option:selected"), function(id,own){ 
var text=$(own).text(); 
var tag=$(own).attr("tag"); 
$("#"+getname).prepend("<option tag=\""+tag+"\">"+text+"</option>"); 
$(own).remove(); 
$("#"+setname+"").children("option:first").attr("selected",true); 
}); 
} 
//重新排序 
$.each($("#"+getname+" option"), function(id,own){ 
orderrole(getname); 
}); 
} 
//按首字母排序角色列表 
function orderrole(listname) 
{ 
var size=$("#"+listname+" option").size(); 
var one=$("#"+listname+" option:first-child"); 
if(size>0) 
{ 
var text=$(one).text(); 
var tag=parseInt($(one).attr("tag")); 
//循环列表中第一项值下所有元素 
$.each($(one).nextAll(), function(id,own){ 
var nextag=parseInt($(own).attr("tag")); 
if(tag>nextag) 
{ 
$(one).remove(); 
$(own).after("<option tag=\""+tag+"\">"+text+"</option>"); 
one=$(own).next(); 
} 
}); 
} 
}
Javascript 相关文章推荐
ASP SQL防注入的方法
Dec 25 Javascript
window.onload 加载完毕的问题及解决方案(下)
Jul 09 Javascript
JS仿flash上传头像效果实现代码
Jul 18 Javascript
Javascript 中 null、NaN和undefined的区别总结
Apr 10 Javascript
手机开发必备技巧:javascript及CSS功能代码分享
May 25 Javascript
在JavaScript应用中实现延迟加载的方法
Jun 25 Javascript
jquery操作select取值赋值与设置选中实例
Feb 28 Javascript
给vue项目添加ESLint的详细步骤
Sep 29 Javascript
React Native 自定义下拉刷新上拉加载的列表的示例
Mar 01 Javascript
Vue中jsx不完全应用指南小结
Nov 01 Javascript
javascript将16进制的字符串转换为10进制整数hex
Mar 05 Javascript
浅谈vue获得后台数据无法显示到table上面的坑
Aug 13 Javascript
JQuery UI DatePicker中z-index默认为1的解决办法
Sep 28 #Javascript
13个绚丽的Jquery 界面设计网站推荐
Sep 28 #Javascript
基于Jquery的动态添加控件并取值的实现代码
Sep 24 #Javascript
封装的原生javascript弹出层代码
Sep 24 #Javascript
js最简单的拖拽效果实现代码
Sep 24 #Javascript
JavaScript 设计模式 安全沙箱模式
Sep 24 #Javascript
IE无法设置短域名下Cookie
Sep 23 #Javascript
You might like
php仿ZOL分页类代码
2008/10/02 PHP
php &amp;&amp; 逻辑与运算符使用说明
2010/03/04 PHP
php Smarty初体验二 获取配置信息
2011/08/08 PHP
PHP带节点操作的无限分类实现方法详解
2016/11/09 PHP
PHP实现查询手机归属地的方法详解
2017/04/28 PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
2017/08/10 PHP
JQuery 拾色器插件发布-jquery.icolor.js
2010/10/20 Javascript
JavaScript中的索引数组、关联数组和静态数组、动态数组讲解
2014/11/08 Javascript
jquery实现炫酷的叠加层自动切换特效
2015/02/01 Javascript
浅析Bootstrap组件之面板组件
2016/05/04 Javascript
jQuery简单倒计时效果完整示例
2016/09/20 Javascript
javaScript中定义类或对象的五种方式总结
2016/12/04 Javascript
jQuery源码分析之sizzle选择器详解
2017/02/13 Javascript
详解Vue监听数据变化原理
2017/03/08 Javascript
JavaScript运动框架 链式运动到完美运动(五)
2017/05/18 Javascript
js实现全选反选不选功能代码详解
2019/04/24 Javascript
js实现select下拉框选择
2020/01/11 Javascript
Javascript节流函数throttle和防抖函数debounce
2020/12/03 Javascript
Python中的defaultdict与__missing__()使用介绍
2018/02/03 Python
python处理csv中的空值方法
2018/06/22 Python
python flask实现分页的示例代码
2018/08/02 Python
Python OpenCV读取png图像转成jpg图像存储的方法
2018/10/28 Python
Python lambda表达式用法实例分析
2018/12/25 Python
Python自动化完成tb喵币任务的操作方法
2019/10/30 Python
tensorflow实现二维平面模拟三维数据教程
2020/02/11 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
2020/02/25 Python
浅谈在JupyterNotebook下导入自己的模块的问题
2020/04/16 Python
英国最大的专业户外零售商:Mountain Warehouse
2018/06/06 全球购物
Monki官网:斯堪的纳维亚的独立时尚品牌
2020/11/09 全球购物
培训科主任岗位职责
2014/08/08 职场文书
审计班子对照检查材料
2014/08/27 职场文书
2015年服务员工作总结
2015/04/08 职场文书
python pyhs2 的安装操作
2021/04/07 Python
Java并发编程之详解CyclicBarrier线程同步
2021/06/23 Java/Android
集英社今正式宣布 成立游戏公司“集英社Games”
2022/03/31 其他游戏
Java工作中实用的代码优化技巧分享
2022/04/21 Java/Android