關於下拉框內容過多如何解決

關於下拉框內容過多如何解決

做項目的時候經常遇到下拉框中需要選擇的內容過多的情況,有時候多到上千項內容,
選擇起來非常不方便
找個好的方法是將下拉框中的內容放到一個iframe中,利用彈出方式來獲得選擇內容
代碼非常簡單,但是顯示的效果確很明顯
index.htm代碼如下:

 

<html>
    
<head>
        
<title></title>
        
<style>
            body
{font-size:9pt}
        
</style>
        
<script  language="javascript">
            
function ShowOpenWin(objTag)
            
{
                document.getElementById(
"frmOpenWin").style.display = "block";
                
                
var position = getPos(objTag);                    

                document.getElementById(
"frmOpenWin").style.top =  (position.y+22+ "px";
                document.getElementById(
"frmOpenWin").style.left = position.x+"px";
            }


            
function HiddenAllFlag()
            
{
                
if(event.srcElement.id != "tbxCategory")
                
{
                    document.getElementById(
"frmOpenWin").style.display = "none";
                }

            }

            
            
function getPos(elm)
            
{
                
for(var zx=zy=0;elm!=null;zx+=elm.offsetLeft,zy+=elm.offsetTop,elm=elm.offsetParent); 
                
return {x:zx,y:zy}                
            }

        
</script>
    
</head>
    
<body onclick="HiddenAllFlag()">
        舊的行業選擇:
<select ID="Select1" NAME="Select1"  style="width:250">
            
<option>農業</option>
            
<option>穀物及其他作物的種植</option>
            
<option>穀物的種植</option>
            
<option>薯類的種植</option>
            
<option>油料的種植</option>
            
<option>豆類的種植</option>
            
<option>棉花的種植</option>
            
<option>麻類的種植</option>
            
<option>糖料的種植</option>
            
<option>菸草的種植</option>
            
<option>其他作物的種植</option>
            
<option>蔬菜、園藝作物的種植</option>
            
<option>蔬菜的種植</option>
            
<option>花卉的種植</option>
            
<option>其他園藝作物的種植</option>
            
<option>水果、堅果、飲料和香料作物的種植</option>
            
<option>水果、堅果的種植</option>
            
<option>茶及其他飲料作物的種植</option>
            
<option>香料作物的種植</option>
            
<option>中藥材的種植</option>
            
<option>林業</option>
            
<option>林木的培育和種植</option>
            
<option>育種和育苗</option>
            
<option>造林</option>
            
<option>林木的撫育和管理</option>
            
<option>木材和竹材的採運</option>
            
<option>木材的採運</option>
            
<option>竹材的採運</option>
            
<option>林產品的採集</option>
            
<option>畜牧業</option>
            
<option>牲畜的飼養</option>
            
<option>豬的飼養</option>
            
<option>家禽的飼養</option>
            
<option>狩獵和捕捉動物</option>
            
<option>其他畜牧業</option>
            
<option>漁業</option>
            
<option>海洋漁業</option>
            
<option>海水養殖</option>
            
<option>海洋捕撈</option>
            
<option>內陸漁業</option>
            
<option>內陸養殖</option>
            
<option>內陸捕撈</option>
            
<option>農、林、牧、漁服務業</option>
            
<option>農業服務業</option>
            
<option>灌溉服務</option>
            
<option>農產品初加工服務</option>
            
<option>其他農業服務</option>
            
<option>林業服務業</option>
            
<option>畜牧服務業</option>
            
<option>獸醫服務</option>
            
<option>其他畜牧服務</option>
            
<option>
                國際組織
</option>
            
<option>
                村民自治組織
</option>
            
<option>
                社區自治組織
</option>
            
<option>
                基層羣衆自治組織
</option>
            
<option>
                宗教組織
</option>
            
<option>
                其他社會團體
</option>
            
<option>
                行業性團體
            
</option>
            
<option>
                專業性團體
</option>
            
<option>農、林、牧、漁業</option>
        
</select>
        
<br>
        新的行業選擇:
<input type="text" id="tbxCategory" onclick="ShowOpenWin(this);" style="width:250"/>
        
<iframe onlosecapture="HiddenAllFlag()" onblur="HiddenAllFlag()" src="sel.htm" id="frmOpenWin"
            frameborder
="0" style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; DISPLAY: none; BORDER-LEFT: 1px solid; WIDTH: 400px; BORDER-BOTTOM: 1px solid; POSITION: absolute; HEIGHT: 350px"></iframe>
    
</body>
</html>

 

sel.htm代碼如下: 

 

<html>
    
<head>
        
<style>
            body
{font-size:9pt}
            td
{font-size:9pt}
        
</style>
        
<script language="javascript">
            
var oldBackGroundColor = "";
            
var bClick = false;
            
            
function onclickRow(objid,objName)
            
{
                window.parent.document.getElementById(
"tbxCategory").value = objName+"["+objid+"]";
                window.parent.window.document.getElementById(
"frmOpenWin").style.display = "none";
            }

            
            
function tr_onmouseover(event)
            
{
                bClick 
= true;
                
var objTR = null;
                
                
if(event == null)
                
{
                    event 
= window.event; // For IE
                }

                
var objTag = event.srcElement? event.srcElement : event.target;//For FierFox
                
                
if(objTag.tagName == "TD")
                
{
                    
if(document.all)
                    
{
                        
if(objTag.parentNode.tagName == "TR")
                        
{
                            oldBackGroundColor 
= objTag.parentNode.style.backgroundColor;
                            objTag.parentNode.style.backgroundColor 
= "#99ff00";
                        }

                        
else if(objTag.parentNode.parentNode.tagName == "TR")
                        
{
                            oldBackGroundColor 
= objTag.parentNode.style.backgroundColor;
                            objTag.parentNode.parentNode.style.backgroundColor 
= "#99ff00";
                        }

                    }

                    
else
                    
{
                        
if(objTag.parentNode.tagName == "TR")
                        
{
                            oldBackGroundColor 
= objTag.parentNode.style.backgroundColor;
                            objTag.parentNode.style.backgroundColor 
= "#99ff00";
                        }

                        
else if(objTag.parentNode.parentNode.tagName == "TR")
                        
{
                            oldBackGroundColor 
= objTag.parentNode.style.backgroundColor;
                            objTag.parentNode.parentNode.style.backgroundColor 
= "#99ff00";
                        }

                    }
    
                }

                
else
                
{
                    
if(objTag.tagName == "TR")
                    
{
                        oldBackGroundColor 
= objTag.parentNode.style.backgroundColor;
                        objTag.style.backgroundColor
="#99ff00";
                    }

                    
else if(objTag.parentNode.tagName == "TR")
                    
{
                        oldBackGroundColor 
= objTag.parentNode.style.backgroundColor;
                        objTag.parentNode.style.backgroundColor
="#99ff00";
                    }

                    
else if(objTag.parentNode.parentNode.tagName == "TR")
                    
{
                        oldBackGroundColor 
= objTag.parentNode.style.backgroundColor;
                        objTag.parentNode.parentNode.style.backgroundColor
="#99ff00";
                    }

                }

            }

            
function tr_onmouseout(event)
            
{
                
var objTR = null;
                
if(event == null)
                
{
                    event 
= window.event; // For IE
                }

                
var objTag = event.srcElement? event.srcElement : event.target;//For FierFox
                
                
if(objTag.tagName == "TD")
                
{
                    
if(objTag.parentNode.tagName == "TR" && bClick)
                    
{
                        objTag.parentNode.style.backgroundColor 
= oldBackGroundColor;
                        oldBackGroundColor 
= "";
                    }

                    
else if(objTag.parentNode.parentNode.tagName == "TR" && bClick)
                    
{
                        objTag.parentNode.parentNode.style.backgroundColor 
= oldBackGroundColor;
                        oldBackGroundColor 
= "";
                    }

                }

                
else
                
{
                    
if(objTag.tagName == "TR" && bClick)
                    
{
                        objTag.style.backgroundColor 
= oldBackGroundColor;
                        oldBackGroundColor 
= "";
                    }

                    
else if(objTag.parentNode.tagName == "TR" && bClick)
                    
{
                        objTag.parentNode.style.backgroundColor
=oldBackGroundColor;
                        oldBackGroundColor 
= "";
                    }

                    
else if(objTag.parentNode.parentNode.tagName == "TR" && bClick)
                    
{
                        objTag.parentNode.parentNode.style.backgroundColor
=oldBackGroundColor;
                        oldBackGroundColor 
= "";
                    }

                }

                bClick 
= false;
            }

            
            
function InitRowBackColor(objTable)
            
{
                
for(var i = 0; i < objTable.rows.length; i ++)
                
{
                    
if(document.all)
                    
{
                        objTable.rows[i].style.backgroundColor 
= "";
                    }

                    
else
                    
{
                        objTable.rows[i].style.backgroundColor 
= "";
                    }

                }

            }

        
</script>
    
</head>
    
<body MS_POSITIONING="GridLayout" leftmargin="0" topmargin="0">
        
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#CCCCCC"
            bgcolor
="#999999" ID="Table4">
            
<tr>
                
<td bgcolor="#FFFFFF">行業名稱:<input type="text" id="tbxname"><input type="button" id="btnOk" value="查詢"></td>
            
</tr>
            
<tr>
                
<td height="58" bgcolor="#FFFFFF">
                    
<table width="99%" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#006699"
                        name
="tbData" id="tbData">
                        
<tr bgcolor="#A9D0FC">
                            
<td align="center" height="25px"><b>行業ID</b></td>
                            
<td align="center"><B>行業名稱</B></td>
                            
<td align="center"><b>行業說明</b></td>
                        
</tr>
                        
<tr style="cursor:hand" bgcolor="#E9F3FE" onclick="onclickRow('001','農業');" onmouseover="tr_onmouseover()"
                            onmouseout
="tr_onmouseout()">
                            
<TD align="center" height="25">001</TD>
                            
<TD align="center">農業</TD>
                            
<TD>農業說明</TD>
                        
</tr>
                        
<tr style="cursor:hand" bgcolor="#E9F3FE" onclick="onclickRow('002','穀物及其他作物的種植');"
                            onmouseover
="tr_onmouseover()" onmouseout="tr_onmouseout()">
                            
<TD align="center" height="25px">002</TD>
                            
<TD align="center">穀物及其他作物的種植</TD>
                            
<TD>穀物及其他作物的種植說明</TD>
                        
</tr>
                        
<tr style="cursor:hand" bgcolor="#E9F3FE" onclick="onclickRow('003','穀物的種植');" onmouseover="tr_onmouseover()"
                            onmouseout
="tr_onmouseout()">
                            
<TD align="center" height="25px">003</TD>
                            
<TD align="center">穀物的種植</TD>
                            
<TD>穀物的種植說明</TD>
                        
</tr>
                        
<tr style="cursor:hand" bgcolor="#E9F3FE" onclick="onclickRow('004','薯類的種植');" onmouseover="tr_onmouseover()"
                            onmouseout
="tr_onmouseout()">
                            
<TD align="center" height="25px">004</TD>
                            
<TD align="center">薯類的種植</TD>
                            
<TD>薯類的種植說明</TD>
                        
</tr>
                        
<tr style="cursor:hand" bgcolor="#E9F3FE" onclick="onclickRow('005','油料的種植');" onmouseover="tr_onmouseover()"
                            onmouseout
="tr_onmouseout()">
                            
<TD align="center" height="25px">005</TD>
                            
<TD align="center">油料的種植</TD>
                            
<TD>油料的種植說明</TD>
                        
</tr>
                        
<tr style="cursor:hand" bgcolor="#E9F3FE" onclick="onclickRow('006','豆類的種植');" onmouseover="tr_onmouseover()"
                            onmouseout
="tr_onmouseout()">
                            
<TD align="center" height="25px">006</TD>
                            
<TD align="center">豆類的種植</TD>
                            
<TD></TD>
                        
</tr>
                        
<tr style="cursor:hand" bgcolor="#E9F3FE" onclick="onclickRow('007','棉花的種植');" onmouseover="tr_onmouseover()"
                            onmouseout
="tr_onmouseout()">
                            
<TD align="center" height="25px">007</TD>
                            
<TD align="center">棉花的種植</TD>
                            
<TD></TD>
                        
</tr>
                        
<tr style="cursor:hand" bgcolor="#E9F3FE" onclick="onclickRow('008','麻類的種植');" onmouseover="tr_onmouseover()"
                            onmouseout
="tr_onmouseout()">
                            
<TD align="center" height="25px">008</TD>
                            
<TD align="center">麻類的種植</TD>
                            
<TD></TD>
                        
</tr>
                        
<tr style="cursor:hand" bgcolor="#E9F3FE" onclick="onclickRow('009','糖料的種植');" onmouseover="tr_onmouseover()"
                            onmouseout
="tr_onmouseout()">
                            
<TD align="center" height="25px">009</TD>
                            
<TD align="center">糖料的種植</TD>
                            
<TD></TD>
                        
</tr>
                        
<tr style="cursor:hand" bgcolor="#E9F3FE" onclick="onclickRow('010','菸草的種植');" onmouseover="tr_onmouseover()"
                            onmouseout
="tr_onmouseout()">
                            
<TD align="center" height="25px">010</TD>
                            
<TD align="center">菸草的種植</TD>
                            
<TD></TD>
                        
</tr>
                    
</table>
                    
<div style="text-align:right">
                        共500行,50頁
                        
<SELECT name="page_size" ID="Select2">
                            
<OPTION value="10" selected>10</OPTION>
                            
<OPTION value="20">20</OPTION>
                            
<OPTION value="30">30</OPTION>
                            
<OPTION value="50">50</OPTION>
                            
<OPTION value="100">100</OPTION>
                        
</SELECT>條記錄 <style="color:blue">下一頁</A> <style="color:blue">最後頁</A> 轉到<INPUT style="width:36px" value="1" name="page" ID="Text1">
                        
<INPUT class="btn" type="button" value="go" ID="Button1" NAME="Button1">
                    
</div>
                
</td>
            
</tr>
        
</table>
    
</body>
</html>

 

預覽效果如下:

 另:從樹中選擇數據或其他大量數據中選擇數據也可適用該方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章