jquery 는 listbox 의 항목 이동 과 정렬 을 제어 합 니 다.

먼저 html 코드 입 니 다.페이지 에 2 개의 listbox 컨트롤 과 2 개의 단 추 를 올 려 서 항목 을 이동 하 는 데 사 용 됩 니 다
 
<table border="0">
<tr>
<td width="156"> :</td>
<td width="142">&nbsp;</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="&gt;&gt;&gt;" onclick="move('listall','listmy');"/><br /><br />
<input type="button" id="btnrighttmove" value="&lt;&lt;&lt;" 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 가 두 목록 항목 의 값 이동 을 제어 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기