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

首先是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控制两个列表项的值移动。

时间: 2024-10-22 06:39:31

jquery控制listbox中项的移动并排序_jquery的相关文章

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

首先是html代码,页面上放2个listbox控件和2个按钮用于移动项目 复制代码 代码如下: <table border="0"> <tr> <td width="156">全部水果:</td> <td width="142"> </td> <td width="482">我挑选的:</td> </tr> <tr

jQuery插件MixItUp实现动画过滤和排序_jquery

什么是MixItUp? MixItUp是一个jQuery插件,提供动画过滤和排序. MixItUp是伟大的,像管理投资组合,画廊和博客的任何分类或排序的内容,而且还可以作为一个功能强大的工具,从事应用程序的用户界面和数据可视化. MixItUp起着很好的与您现有的HTML和CSS,使之成为响应布局的绝佳选择. 而不是用绝对定位来控制布局,MixItUp设计与现有的在线流布局工作.要使用百分比,媒体查询,inline-block的,甚至是弯曲盒子?没问题! 页面代码 <div id="Con

JQuery控制图片由中心点逐渐放大效果_jquery

有的时候我们需要做一个当鼠标放置在图片上的时候,希望图片逐渐变大,即图片的width和height逐渐变大,但是此时,其left值与top值没有改变,故看似不是从中心点进行缩放的.如下图: 从中心点进行缩放 实现代码如下: <meta charset="utf-8"> <style type="text/css"> #div1{ width:600px; height:400px; margin:50px auto; position:rel

jquery移动listbox的值原理及代码_jquery

jQuery操作listbox原理并不难,就是将listbox中的选中项进行移动,实现我们需要的移动效果.我在例子中使用了json数据结构来动态绑定listbox,这样也可以熟悉一下json的使用方法. 先看看简单的html,因为服务器控件会自动转换为html标签,所以在例子中,我并没有用服务器控件.如下: <asp:ListBox></asp:ListBox> 会自动转换成:<select></select> html代码如下: 复制代码 代码如下: &l

jquery控制显示服务器生成的图片流_jquery

首先把图片路径作为参数,ajax异步传到后台方法中上传服务器,直接用Jquery传是不行的,它没有权力跟服务器打交道,具体内容不废话了,直接看下文,介绍的很详细. 首先给大家展示下效果图: < 首先是第一副是初始的页面,第二副是点击submit之后服务端生成的二维码,没有保存图片直接将图片流转成字符串返回到页面. 简介: 首先,这种生成二维码方式,而且不需要保存的情况可以在前端使用脚本来实现,那我在项目里也是这样做的. 然后js好像是不能接受服务端的文件流进行操作的,出于安全考虑.如果这种方式是

jQuery插件MixItUp实现动画过滤和排序

 什么是MixItUp? MixItUp是一个jQuery插件,提供动画过滤和排序. MixItUp是伟大的,像管理投资组合,画廊和博客的任何分类或排序的内容,而且还可以作为一个功能强大的工具,从事应用程序的用户界面和数据可视化. MixItUp起着很好的与您现有的HTML和CSS,使之成为响应布局的绝佳选择. 而不是用绝对定位来控制布局,MixItUp设计与现有的在线流布局工作.要使用百分比,媒体查询,inline-block的,甚至是弯曲盒子?没问题! 页面代码 1 2 3 4 5 6 <d

jquery控制页面部分刷新的方法

  本文实例讲述了jquery控制页面部分刷新的方法.分享给大家供大家参考.具体分析如下: 这段代码设计非常巧妙,通过jQuery的load方法加载页面的指定标签的内容 ? 1 2 3 4 5 6 7 $('#button1').click(function() { var url = "http:www.your-url.com?ID=" + Math.random(); //create random number setTimeout(function() { $("#

JQuery控制Radio选中方法分析

  本文实例讲述了JQuery控制Radio选中方法.分享给大家供大家参考.具体如下: 方法1: ? 1 2 3 4 5 6 7 8 9 10 $(function () { $("#spanNan").click(function () { $("#Radio1").attr("checked", true); $("#Radio2").attr("checked", false); }); $(&quo

jquery控制表单输入框显示默认值的方法

  本文实例讲述了jquery控制表单输入框显示默认值的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 <!DOCTYPE html> <html> <head> <script language="javascript" src=&quo