分享一个JQ对listbox进行排序的脚本

上网找了很多。。发现都不是很好用。。自己写了一个。仅供参考
<script language="javascript">
<!--
//初始化
var objSelect = $("#SortListBox");
var SortedIDObj = $("#SortedID");

//移至最顶
function UpTop()
{
var nowIndex = objSelect.find("option:selected").index();
if((objSelect.val() != "") && (nowIndex != 0))
{
tempValue = objSelect.find("option:selected").val();
tempName = objSelect.find("option:selected").text();

for(i = nowIndex; i > 0; i--)
{
objSelect.find("option").eq(i).val(objSelect.find("option").eq(i-1).val());
objSelect.find("option").eq(i).text(objSelect.find("option").eq(i - 1).text());
}
objSelect.find("option").eq(0).val(tempValue);
objSelect.find("option").eq(0).text(tempName);
objSelect.get(0).selectedIndex = 0;
}
ToSortIndex();
}

//移至最底
function DownBottom()
{
var nowIndex = objSelect.find("option:selected").index();

if ((objSelect.val() != "") && (nowIndex != objSelect.find("option").length - 1))
{
tempValue = objSelect.find("option:selected").val();
tempName = objSelect.find("option:selected").text();
for (i = nowIndex; i < objSelect.find("option").length - 1; i++)
{
objSelect.find("option").eq(i).val(objSelect.find("option").eq(i + 1).val());
objSelect.find("option").eq(i).text(objSelect.find("option").eq(i + 1).text());
}

objSelect.find("option").eq(objSelect.find("option").length - 1).val(tempValue);
objSelect.find("option").eq(objSelect.find("option").length - 1).text(tempName);
objSelect.get(0).selectedIndex = objSelect.find("option").length - 1;
}
ToSortIndex();
}

//下移
function Down()
{
var nowIndex = objSelect.find("option:selected").index();
if ((objSelect.val() != "") && (nowIndex != objSelect.find("option").length - 1))
{
tempValue = objSelect.find("option:selected").val();
tempName = objSelect.find("option:selected").text();

objSelect.find("option").eq(nowIndex).val(objSelect.find("option").eq(nowIndex + 1).val());
objSelect.find("option").eq(nowIndex).text(objSelect.find("option").eq(nowIndex + 1).text());
objSelect.find("option").eq(nowIndex+1).val(tempValue);
objSelect.find("option").eq(nowIndex + 1).text(tempName);
objSelect.get(0).selectedIndex = nowIndex + 1;
}
ToSortIndex();
}

//上移
function Up()
{
var nowIndex = objSelect.find("option:selected").index();
if ((objSelect.val() != "") && (nowIndex != 0))
{
tempValue = objSelect.find("option:selected").val();
tempName = objSelect.find("option:selected").text();
objSelect.find("option").eq(nowIndex).val(objSelect.find("option").eq(nowIndex - 1).val());
objSelect.find("option").eq(nowIndex).text(objSelect.find("option").eq(nowIndex - 1).text());
objSelect.find("option").eq(nowIndex-1).val(tempValue);
objSelect.find("option").eq(nowIndex-1).text(tempName);
objSelect.get(0).selectedIndex = nowIndex - 1;
}
ToSortIndex();
}

//生成排序字符串
function ToSortIndex()
{
var SortTreeID = "";
for (i = 0; i < objSelect.find("option").length; i++)
{
SortTreeID = SortTreeID + "[" + objSelect.find("option").eq(i).val() + "]" + ","
}
SortTreeID = SortTreeID.substring(0,SortTreeID.length - 1 );
SortedIDObj.val(SortTreeID);
}
//-->
</script>
View Code
posted @ 2014-04-15 17:57  一瓢清水  阅读(215)  评论(0)    收藏  举报