花生鱼's Blog

■╪ 加快奋斗的脚步
 
 

Powered by: 博客园
模板提供:沪江博客
博客园 | 首页 | 发新随笔 | 发新文章 | 联系 | 订阅订阅 | 管理

2007年9月25日

ListItem手动排序
<HTML>
<BODY>
<table border=0 cellpadding=0 cellspacing=0><form name=meizz>
  
<tr><td>
    
<select id=list1 size=8>
      
<option value=A>aaaaaaaaaa
      
<option value=B>bbbbbbbbbb
      
<option value=C>cccccccccc
      
<option value=D>dddddddddd
      
<option value=E>eeeeeeeeee
      
<option value=F>ffffffffff
      
<option value=G>gggggggggg
      
<option value=H>hhhhhhhhhh
    
</select></td>
  
<td width=40 align=center>
    
<input name=add type=button value="上" onclick="Taxis('Up');"><br><br>
    
<input name=sub type=button value="下" onclick="Taxis('Down');">
  
</td></tr></form>
</table>

<script language="JavaScript"><!--
var e=document.getElementById("list1");
var ta;
initArr();

function Taxis(sort){
var i=e.selectedIndex;
i 
= sort=="Up"?i-1:i;
if(i>-1 && i<e.options.length-1){
clear();
for(var j=0;j<ta.length;j++){
if(i!=j)
e.options[e.length] 
= new Option(ta[j][0], ta[j][1]);
else{
e.options[e.length] 
= new Option(ta[j+1][0], ta[j+1][1]);
e.options[e.length] 
= new Option(ta[j][0], ta[j][1]);
ta.splice(j,
1);}
}

initArr();
e.selectedIndex
=sort=="Up"?i:i+1;}

}


function initArr()
{
ta
=new Array();
var ol=e.options.length;
for(var i=0;i<ol;i++){
ta[i]
=new Array(e.options[i].text,e.options[i].value);}

}


function clear()
{
e.options.length 
= 0;
}

//-->
</script>
</BODY>
</HTML>
posted @ 2007-09-25 13:44 婲生魚 阅读(289) 评论(2) 编辑
 
支持中文的下拉框按键选中
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="DDLAnagenesis.ascx.cs" Inherits="welcom_DDLAnagenesis" %>
<script type="text/javascript">
var currentIndex 
= 0;
var currentChar 
= '';
    function CharPointItem()
    
{
        
//可以改成event.srcElement
        var ddl = document.getElementById('<%=ddlItem.ClientID %>');
        var itemCount 
= ddl.options.length;
        var selectStr 
= '';
        var laseIndex 
= currentIndex;
        var pressKey 
= String.fromCharCode(window.event.keyCode); 
        
if(itemCount <=1 || IsChar(pressKey)== false)
        
return;
        
if(pressKey != currentChar)
        currentIndex 
= 0;
        
for(var i =currentIndex;i<itemCount;i++)
        
{
            
if(getpy(ddl.options[i].text.charAt(0))== pressKey)
            
{
                currentChar 
= pressKey;
                ddl.selectedIndex 
= i;
                currentIndex 
= i + 1;
                
break;
            }

        }

        currentIndex 
= laseIndex == currentIndex?0:currentIndex;
    }

    
    function IsChar(str)
    
{
      t   
=   str.charAt(0).toLowerCase();   
      
if(t <= "z" && t >= "a")   
      
return true;
      
else   
      
return false;
    }

    
</script>
    
    
<script type="text/vbscript">
<!--
function getpychar(
char)
tmp
=65536+asc(char)
if(tmp>=45217 and tmp<=45252) then 
getpychar
= "A"
elseif(tmp
>=45253 and tmp<=45760) then
getpychar
= "B"
elseif(tmp
>=45761 and tmp<=46317) then
getpychar
= "C"
elseif(tmp
>=46318 and tmp<=46825) then
getpychar
= "D"
elseif(tmp
>=46826 and tmp<=47009) then 
getpychar
= "E"
elseif(tmp
>=47010 and tmp<=47296) then 
getpychar
= "F"
elseif(tmp
>=47297 and tmp<=47613) then 
getpychar
= "G"
elseif(tmp
>=47614 and tmp<=48118) then
getpychar
= "H"
elseif(tmp
>=48119 and tmp<=49061) then
getpychar
= "J"
elseif(tmp
>=49062 and tmp<=49323) then 
getpychar
= "K"
elseif(tmp
>=49324 and tmp<=49895) then 
getpychar
= "L"
elseif(tmp
>=49896 and tmp<=50370) then 
getpychar
= "M"
elseif(tmp
>=50371 and tmp<=50613) then 
getpychar
= "N"
elseif(tmp
>=50614 and tmp<=50621) then 
getpychar
= "O"
elseif(tmp
>=50622 and tmp<=50905) then
getpychar
= "P"
elseif(tmp
>=50906 and tmp<=51386) then 
getpychar
= "Q"
elseif(tmp
>=51387 and tmp<=51445) then 
getpychar
= "R"
elseif(tmp
>=51446 and tmp<=52217) then 
getpychar
= "S"
elseif(tmp
>=52218 and tmp<=52697) then 
getpychar
= "T"
elseif(tmp
>=52698 and tmp<=52979) then 
getpychar
= "W"
elseif(tmp
>=52980 and tmp<=53640) then 
getpychar
= "X"
elseif(tmp
>=53689 and tmp<=54480) then 
getpychar
= "Y"
elseif(tmp
>=54481 and tmp<=62289) then
getpychar
= "Z"
else '如果不是中文,则不处理
getpychar=char
end 
if
end function

function getpy(str)
for i=1 to len(str)
getpy
=getpy&getpychar(mid(str,i,1))
next
end function
//-->
</script> 
<asp:DropDownList ID="ddlItem" onKeyDown="CharPointItem();"  runat="server" OnSelectedIndexChanged="ddlItem_SelectedIndexChanged">
</asp:DropDownList>

只需要为自己想设置此功能的下拉框添加 onKeyDown="CharPointItem();" 即可
posted @ 2007-09-25 13:41 婲生魚 阅读(224) 评论(2) 编辑