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 相关文章推荐
一个用js实现的页内搜索代码
May 23 Javascript
加载jQuery后$冲突的解决办法
Jul 09 Javascript
jQuery筛选器children()案例详解(图文)
Feb 17 Javascript
基于jquery实现智能提示控件intellSeach.js
Mar 17 Javascript
轻松掌握JavaScript中介者模式
Aug 26 Javascript
jQuery实现select模糊查询(反射机制)
Jan 14 Javascript
JS排序之冒泡排序详解
Apr 08 Javascript
jQuery 循环遍历改变a标签的href(实例讲解)
Jul 12 jQuery
vue webpack打包后图片路径错误的完美解决方法
Dec 07 Javascript
mock.js模拟数据实现前后端分离
Jul 24 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
Mar 02 Javascript
VUE Elemen-ui之穿梭框使用方法详解
Jan 19 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
新52大事件
2020/03/03 欧美动漫
用PHP创建PDF中文文档
2006/10/09 PHP
php中使用临时表查询数据的一个例子
2013/02/03 PHP
ThinkPHP3.1新特性之动态设置自动完成及自动验证示例代码
2014/06/23 PHP
php版银联支付接口开发简明教程
2016/10/14 PHP
PHP实现一个轻量级容器的方法
2019/01/28 PHP
在Javascript中 声明时用&quot;var&quot;与不用&quot;var&quot;的区别
2013/04/15 Javascript
实测jquery data()如何存值
2013/08/18 Javascript
使用JQUERY进行后台页面布局控制DIV实现左右式
2014/01/07 Javascript
jQuery点缩略图弹出层显示大图片
2015/02/13 Javascript
javascript常用函数(2)
2015/11/05 Javascript
第七章之菜单按钮图标组件
2016/04/25 Javascript
Node.js的Web模板引擎ejs的入门使用教程
2016/06/06 Javascript
动态生成的DOM不会触发onclick事件的原因及解决方法
2016/08/06 Javascript
Node.js复制文件的方法示例
2016/12/29 Javascript
vue.js使用代理和使用Nginx来解决跨域的问题
2018/02/03 Javascript
Vue.js最佳实践(五招助你成为vuejs大师)
2018/05/04 Javascript
jQuery实现的滑块滑动导航效果示例
2018/06/04 jQuery
JS实现点星星消除小游戏
2020/03/24 Javascript
js实现Element中input组件的部分功能并封装成组件(实例代码)
2021/03/02 Javascript
Python translator使用实例
2008/09/06 Python
Django 生成登陆验证码代码分享
2017/12/12 Python
Python3中列表list合并的四种方法
2019/04/19 Python
python 装饰器功能与用法案例详解
2020/03/06 Python
深入解读CSS3中transform变换模型的渲染
2016/05/27 HTML / CSS
Html5让容器充满屏幕高度或自适应剩余高度的布局实现
2020/05/14 HTML / CSS
新西兰最大的在线设计师眼镜店:SmartBuyGlasses新西兰
2017/10/20 全球购物
BIFFI美国站:意大利BIFFI BOUTIQUES豪华多品牌时装零售公司
2020/02/11 全球购物
网络专业学生个人的自我评价
2013/12/16 职场文书
办公自动化毕业生求职信
2014/03/09 职场文书
汽车检测与维修专业求职信
2014/07/04 职场文书
党员批评与自我批评范文
2014/09/23 职场文书
运动会通讯稿600字
2015/07/20 职场文书
创业计划书之暑假培训班
2019/11/09 职场文书
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
2021/05/28 Python
Spring Security中用JWT退出登录时遇到的坑
2021/10/16 Java/Android