jquery控制listbox中项的移动并排序


Posted in Javascript onNovember 12, 2009

首先是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(); 
} 
}); 
} 
}

这样就完成了简单的js控制两个列表项的值移动。
Javascript 相关文章推荐
Array, Array Constructor, for in loop, typeof, instanceOf
Sep 13 Javascript
js原型链原理看图说明
Jul 07 Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
Jan 09 Javascript
javascript文件中引用依赖的js文件的方法
Mar 17 Javascript
js加密解密字符串可自定义密码因子
May 13 Javascript
jquery实现的代替传统checkbox样式插件
Jun 19 Javascript
js的flv视频播放器插件使用方法
Jun 23 Javascript
Javascript实现倒计时时差效果
May 18 Javascript
使用JS实现导航切换时高亮显示的示例讲解
Aug 22 Javascript
微信小程序Echarts图表组件使用方法详解
Jun 25 Javascript
JavaScript 预解析的4种实现方法解析
Sep 03 Javascript
Vue-Element-Admin集成自己的接口实现登录跳转
Jun 23 Vue.js
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
Nov 12 #Javascript
两个select之间option的互相添加操作(jquery实现)
Nov 12 #Javascript
XHTML下,JS浮动代码失效的问题
Nov 12 #Javascript
把html页面的部分内容保存成新的html文件的jquery代码
Nov 12 #Javascript
Javascript 定时器调用传递参数的方法
Nov 12 #Javascript
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
Nov 12 #Javascript
JS解析XML的实现代码
Nov 12 #Javascript
You might like
PHP之COOKIE支持详解
2010/09/20 PHP
PHP求小于1000的所有水仙花数的代码
2012/01/10 PHP
PHP实现图片自动清理的方法
2015/07/08 PHP
php中引用&amp;的用法分析【变量引用,函数引用,对象引用】
2016/12/12 PHP
PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例
2019/06/12 PHP
jquery text()要注意啦
2009/10/30 Javascript
Jquery响应回车键直接提交表单操作代码
2014/07/25 Javascript
jQuery中text() val()和html()的区别实例详解
2016/06/28 Javascript
JS获取及验证开始结束日期的方法
2016/08/20 Javascript
JS制作图形验证码实现代码
2020/10/19 Javascript
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
2017/01/19 Javascript
js获取元素的偏移量offset简单方法(必看)
2017/07/05 Javascript
node使用UEditor富文本编辑器的方法实例
2017/07/11 Javascript
微信小程序之蓝牙的链接
2017/09/26 Javascript
vue语法之拼接字符串的示例代码
2017/10/25 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
2017/12/08 Javascript
vue2.0 路由模式mode=&quot;history&quot;的作用
2018/10/18 Javascript
Openlayers3实现车辆轨迹回放功能
2020/09/29 Javascript
有关wxpython pyqt内存占用问题分析
2014/06/09 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
2017/08/24 Python
详解python基础之while循环及if判断
2017/08/24 Python
深入理解python中函数传递参数是值传递还是引用传递
2017/11/07 Python
基于python requests库中的代理实例讲解
2018/05/07 Python
Python数据类型之String字符串实例详解
2019/05/08 Python
浅谈PySpark SQL 相关知识介绍
2019/06/14 Python
python实现xlwt xlrd 指定条件给excel行添加颜色
2020/07/14 Python
canvas与html5实现视频截图功能示例
2016/12/15 HTML / CSS
猎人靴英国官网:Hunter Boots
2017/02/02 全球购物
教你打造完美的创业计划书
2014/01/06 职场文书
学校募捐倡议书
2014/05/14 职场文书
主题班会演讲稿
2014/05/22 职场文书
居委会个人对照检查材料思想汇报
2014/09/29 职场文书
大学辅导员述职报告
2015/01/10 职场文书
六年级作文之家庭作文
2019/12/12 职场文书
html实现弹窗的实例
2021/06/09 HTML / CSS
SQL试题 使用窗口函数选出连续3天登录的用户
2022/04/24 Oracle