<table>
<% for i=0 to 3%>
<tr>
<td width="742" height="25" valign="top" class="style1">
<font color="#FF0000">
<input type="text" name="wp<%=i%>" onchange="tiqu(<%=i%>)" style="width:150px;height:21px; position:absolute;border-right:0px;">
<span style=" margin-left:150px;width:18px;border:0px solid red;border:0px;">
<select name="wpmc<%=i%>" style="margin-left:-150px;width:168px;" onmousedown="document.all.wp<%=i%>.value=document.all.wpmc<%=i%>.options[document.all.wpmc<%=i%>.selectedIndex].value" onchange="document.all.wp<%=i%>.value=document.all.wpmc<%=i%>.options[document.all.wpmc<%=i%>.selectedIndex].value">
<option value="毛巾" selected>毛巾</option>
<option value="手套">手套</option>
<option value="螺丝">螺丝</option>
<option value="螺丝冒">螺丝冒</option>
<option value="钢笔">钢笔</option>
</select> </span></font>
</td>
</tr>
<%next%>
</table>
<script >
function tiqu(k)
{
var i,j,ln,xin,xin2,arr2=[];
//将输入的查询条件保存在xin中
xin=eval("document.all.wp"+k).value
//取出下拉项的个数
ln = eval("document.all.wpmc"+k).options.length;
//判断下拉项的每一个值是否包含xin ,若包含将其赋值给数组arr2
for( i = 0; i < ln; i++)
{
if (eval("document.all.wpmc"+k).options[i].value.indexOf(xin)>=0)
{
arr2[arr2.length]=eval("document.all.wpmc"+k).options[i].value ;
}
}
//清空select下拉框
eval("document.all.wpmc"+k).length=0;
// 将选择后的数组重新添加到Select中
for (i = 0; i < arr2.length; i++)
{
eval("document.all.wpmc"+k).add (new Option(arr2[i], arr2[i]));
}
}
</script>
<% for i=0 to 3%>
<tr>
<td width="742" height="25" valign="top" class="style1">
<font color="#FF0000">
<input type="text" name="wp<%=i%>" onchange="tiqu(<%=i%>)" style="width:150px;height:21px; position:absolute;border-right:0px;">
<span style=" margin-left:150px;width:18px;border:0px solid red;border:0px;">
<select name="wpmc<%=i%>" style="margin-left:-150px;width:168px;" onmousedown="document.all.wp<%=i%>.value=document.all.wpmc<%=i%>.options[document.all.wpmc<%=i%>.selectedIndex].value" onchange="document.all.wp<%=i%>.value=document.all.wpmc<%=i%>.options[document.all.wpmc<%=i%>.selectedIndex].value">
<option value="毛巾" selected>毛巾</option>
<option value="手套">手套</option>
<option value="螺丝">螺丝</option>
<option value="螺丝冒">螺丝冒</option>
<option value="钢笔">钢笔</option>
</select> </span></font>
</td>
</tr>
<%next%>
</table>
<script >
function tiqu(k)
{
var i,j,ln,xin,xin2,arr2=[];
//将输入的查询条件保存在xin中
xin=eval("document.all.wp"+k).value
//取出下拉项的个数
ln = eval("document.all.wpmc"+k).options.length;
//判断下拉项的每一个值是否包含xin ,若包含将其赋值给数组arr2
for( i = 0; i < ln; i++)
{
if (eval("document.all.wpmc"+k).options[i].value.indexOf(xin)>=0)
{
arr2[arr2.length]=eval("document.all.wpmc"+k).options[i].value ;
}
}
//清空select下拉框
eval("document.all.wpmc"+k).length=0;
// 将选择后的数组重新添加到Select中
for (i = 0; i < arr2.length; i++)
{
eval("document.all.wpmc"+k).add (new Option(arr2[i], arr2[i]));
}
}
</script>
加上这个// 将选择后的数组重新添加到Select中
eval("document.all.wpmc"+k).add (new Option("请选择", ""));
for (i = 0; i < arr2.length; i++)
{
eval("document.all.wpmc"+k).add (new Option(arr2[i], arr2[i]));
}
//作者:宝玉<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> 类似于ie地址栏的下拉列表:回车提交,动态提示</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</HEAD><BODY bgcolor="menu">
类似于ie地址栏的下拉列表:回车提交,动态提示
<?XML:NAMESPACE PREFIX="AXTeam" />
//ComboBox.htc 源码
//作者:宝玉
//日期:2003-01-16<public:component tagname="ComboBox" literalcontent="true">
<public:method name="CreateComboBox" internalname="f_PublicCreateComboBox" />
<public:method name="CreateComboBoxIpt" internalname="f_PublicCreateComboBoxIpt" />
<public:method name="CreateDropDown" internalname="f_PublicCreateDropDown" />
<public:method name="CreateDropList" internalname="f_PublicCreateDropList" />
<public:method name="CreatePopup" internalname="f_PublicCreatePopup" /><public:attach event="oncontentready" onevent="f_CreateComboBox()" />
<SCRIPT LANGUAGE="JScript">
var oPopup = null;
var ComboBox = null;
var ComboBoxIpt = null;
var DropDown = null;
var DropList = null;
var aNodes = new Array();
function f_CreateComboBox()
{
aNodes = f_CreateNodes(element.innerHTML);
DropList = f_PublicCreateDropList();
f_PublicCreateDropListData(aNodes);
ComboBox = f_PublicCreateComboBox();
ComboBoxIpt = f_PublicCreateComboBoxIpt();
DropDown = f_PublicCreateDropDown();
oPopup = f_PublicCreatePopup()
ComboBox.attachEvent("onmouseover",fnMouseover);
ComboBox.attachEvent("onmouseout",fnMouseout);
DropDown.attachEvent("onmousedown",fnMousedown);
ComboBoxIpt.attachEvent("onfocus",ComboBoxFocus);
ComboBoxIpt.attachEvent("onblur",ComboBoxBlur);
ComboBoxIpt.attachEvent("onkeyup",ComboBoxKeyup);
window.document.attachEvent("onclick", chkstat);
}
function f_PublicCreateComboBox()
{
var oTable = window.document.createElement("TABLE");
oTable.cellSpacing = 1;
oTable.cellPadding = 0;
oTable.id = "AXTeamComboBox"+uniqueID;
oTable.style.display = "inline";
oTable.border = 0;
oTable.bgColor = "#FFFFFF";
element.insertAdjacentElement("BeforeBegin",oTable);
oTable.ComboBoxFocus = false;
return oTable;
}
function f_PublicCreateComboBoxIpt()
{
var oInput = window.document.createElement("INPUT");
oInput.type = "text";
oInput.style.border = 0;
oInput.style.width = element.width;
oInput.style.height = 15;
oInput.id = "AXTeamComboBoxIpt"+uniqueID;
ComboBox.insertRow().insertCell().appendChild(oInput);
ComboBox.rows[0].bgColor = "#FFFFFF";
return oInput;
}
function f_PublicCreateDropDown()
{
var oTable = window.document.createElement("TABLE");
oTable.cellSpacing = 0;
oTable.cellPadding = 0;
oTable.id = "AXTeamDropDown"+uniqueID;
oTable.border = 0;
oTable.bgColor="#DBD8D1";
oTable.style.cssText = "display:inline;cursor:default;";
oTable.attachEvent("onselectstart", fnCancel);
var otd = oTable.insertRow().insertCell();
otd.style.cssText = "font-family: webdings;font-size:8px;text-align: center;width:13px;height:17px;";
otd.innerText = "6";
ComboBox.rows[0].insertCell().appendChild(oTable);
return oTable;
}
function f_PublicCreateDropList()
{
var oTable = window.document.createElement("TABLE");
oTable.cellSpacing = 1;
oTable.cellPadding = 0;
oTable.border = 0;
oTable.bgColor="#FFFFFF";
oTable.style.cssText = "font-size:9pt;cursor:default;border:1px solid #666666;";
oTable.attachEvent("onselectstart", fnCancel);
return oTable;
}
function f_PublicCreateDropListData(aNodes,redata)
{
if(!redata)
var re=new RegExp("^");
else
var re=new RegExp("^"+redata,"i");
var otd = null;
var No=DropList.rows.length;
for(i=0;i<No;i++)DropList.deleteRow();
for(var i=0;i<aNodes.length;i++)
{
if(re.test(aNodes[i])==true)
{
otd = DropList.insertRow().insertCell();
otd.style.height = "12px";
otd.innerHTML = aNodes[i];
otd.attachEvent("onmouseover",DropListOver);
otd.attachEvent("onmouseout",DropListOut);
otd.attachEvent("onclick",DropListClick);
}
}}
function f_PublicCreatePopup()
{
var oSpan = element.document.createElement("span");
oSpan.style.cssText = " position:absolute;display:none;cursor:default;z-index:100;";
window.document.body.appendChild(oSpan);
return oSpan;
}
function f_CreateNodes(htmlText)
{
var oSpan = element.document.createElement("span");
oSpan.innerHTML = htmlText;
var xNodes = oSpan.childNodes;
var Nodes = new Array();
var nNumNodes = (xNodes == null) ? 0 : xNodes.length;
for (var nIndex = 0; nIndex < nNumNodes; nIndex++)
{
var node = xNodes[nIndex];
if (node != null)
Nodes = Nodes.concat(f_CreateDropListItems(node));
}
return Nodes;
}
function f_CreateDropListItems(oNode)
{
var rNodes;
var szTagName = (oNode.tagName == null) ? "" : oNode.tagName.toLowerCase();
if(szTagName == "option")
{
var szText = oNode.innerText;
rNodes = new Array(szText);
}
else
rNodes = new Array();
return rNodes;
}
function fnMouseover()
{
if(ComboBox.ComboBoxFocus) return;
overstat();
}
function fnMouseout()
{
if(ComboBox.ComboBoxFocus) return;
defaultstat();
}
function fnMousedown()
{
if(event.srcElement != ComboBoxIpt)
{
if(oPopup.style.display == '')
{
oPopup.style.display = 'none';
DropDown.style.color = "#000000";
return;
}
f_PublicCreateDropListData(aNodes)
ComboBoxIpt.select();
DropDown.style.color = "#FFFFFF";
}
oPopup.appendChild(DropList);
oPopup.style.width = (oPopup.offsetWidth < ComboBox.offsetWidth) ? ComboBox.offsetWidth : oPopup.offsetWidth;
oPopup.style.left = getx(ComboBox);
oPopup.style.top = gety(ComboBox)+19;
oPopup.style.display = '';
oPopup.children[0].width = "100%";
ComboBox.ComboBoxFocus = true;
}
function overstat()
{
ComboBox.bgColor="#0A246A";
DropDown.bgColor="#B6BDD2";
DropDown.style.color = "#000000";
}
function defaultstat()
{
ComboBox.bgColor="#FFFFF";
DropDown.bgColor="#DBD8D1";
DropDown.style.color = "#000000";
}
function DropListOver()
{
obj = event.srcElement;
obj.bgColor='highlight';obj.style.color='#FFFFFF';obj.style.cursor='default';
}
function DropListOut()
{
obj = event.srcElement;
obj.bgColor='#FFFFFF';obj.style.color='#000000';
}
function DropListClick()
{
obj = event.srcElement;
ComboBoxIpt.value = obj.innerText;
oPopup.style.display = "none";
ComboBoxIpt.select();
DropDown.style.color = '#000000';
}
function ComboBoxFocus()
{
if(ComboBox.ComboBoxFocus) return;
ComboBox.ComboBoxFocus = true;
overstat();
}
function ComboBoxBlur()
{
if(ComboBox.ComboBoxFocus) return;
defaultstat();
}
function ComboBoxKeyup()
{
f_PublicCreateDropListData(aNodes,ComboBoxIpt.value);
fnMousedown();
addOption();
}
function addOption(){
if(event.keyCode==13)
{
for(var i=0;i<aNodes.length;i++)
{
node = aNodes[i];
if(node == ComboBoxIpt.value)
return;
}
aNodes[aNodes.length] = ComboBoxIpt.value;
}
}function chkstat()
{
var oEl = event.srcElement;
while( null != oEl && oEl != ComboBox)
{
oEl = oEl.parentElement;
}
if(oEl == null)
{
defaultstat();
ComboBox.ComboBoxFocus = false;
oPopup.style.display = "none";
}
}function fnCancel()
{
return false;
}
function getx(e)
{
var l=e.offsetLeft;
while(e=e.offsetParent){
l+=e.offsetLeft;
}
return l;
}
function gety(e)
{
var t=e.offsetTop;
while(e=e.offsetParent){
t+=e.offsetTop;
}
return t;
}
</SCRIPT>
<?IMPORT NAMESPACE="AXTeam" IMPLEMENTATION="ComboBox.htc" />
<AXTeam:ComboBox id="ComboBox1" width='200'> <AXTeam:option>http://www.51js.com</AXTeam:option>
<AXTeam:option>http://www.51.net</AXTeam:option>
<AXTeam:option>http://csdn.net</AXTeam:option>
<AXTeam:option>ftp://asp.6to23.com</AXTeam:option>
<AXTeam:option>file://C:</AXTeam:option>
<AXTeam:option>C:\winnt</AXTeam:option></AXTeam:ComboBox>
</BODY>
</HTML>