Html的Select加一个输入的方法
<Html><Head><SCRIPT LANGUAGE="JavaScript"><!--//定义 select 原值var oldValue,oldText;//select下拉框的onkeydown事件,修改下拉框的值function catch_keydown(sel){ switch(event.keyCode) { case 13: //回车键 event.returnValue = false; break; case 27: //Esc键 sel.options[sel.selectedIndex].text = oldText; sel.options[sel.selectedIndex].value = oldValue; event.returnValue = false; break; case 8: //空格健 var s = sel.options[sel.selectedIndex].text; s = s.substr(0,s.length-1); if (sel.options[0].value==sel.options[sel.selectedIndex].text){ sel.options[sel.selectedIndex].value=s; sel.options[sel.selectedIndex].text=s; } event.returnValue = false; break; } if (!event.returnValue && sel.onchange) sel.onchange(sel)}//select下拉框的onkeypress事件,修改下拉框的值function catch_press(sel){ if(sel.selectedIndex>=0){ var s = sel.options[sel.selectedIndex].text + String.fromCharCode(event.keyCode); if (sel.options[sel.selectedIndex].value==sel.options[sel.selectedIndex].text){ sel.options[sel.selectedIndex].value=s; sel.options[sel.selectedIndex].text=s; } event.returnValue = false; if (!event.returnValue && sel.onchange) sel.onchange(sel) }}//select下拉框的onfocus事件,保存下拉框原来的值function catch_focus(sel) { oldText = sel.options[sel.selectedIndex].value; oldValue = sel.options[sel.selectedIndex].value;} //--></SCRIPT></Head><Body><!--调用--><select style='width:130px;z-index:-1' name='tmpSel' onkeydown=catch_keydown(this) onkeypress=catch_press(this) onfocus=catch_focus(this)><option value=''></option><option value=''>A</option><option value=''>B</option><option value=''>C</option></select></Body></Html>
?
带有提示信息的
xieyj(原作)
<Html><Head><SCRIPT LANGUAGE="JavaScript"><!--//定义 select 原值var oldValue,oldText;//select下拉框的onkeydown事件,修改下拉框的值function catch_keydown(sel){ switch(event.keyCode) { case 13: //回车键 event.returnValue = false; break; case 27: //Esc键 sel.options[sel.selectedIndex].text = oldText; sel.options[sel.selectedIndex].value = oldValue; event.returnValue = false; break; case 8: //空格健 var s = sel.options[sel.selectedIndex].text; s = s.substr(0,s.length-1); if (sel.options[sel.selectedIndex].value==sel.options[sel.selectedIndex].text){ sel.options[sel.selectedIndex].value=s; sel.options[sel.selectedIndex].text=s; } event.returnValue = false; break; } if (!event.returnValue && sel.onchange) sel.onchange(sel)}//select下拉框的onkeypress事件,修改下拉框的值function catch_press(sel){ if(sel.selectedIndex>=0){ var s = sel.options[sel.selectedIndex].text + String.fromCharCode(event.keyCode); if (sel.options[sel.selectedIndex].value==sel.options[sel.selectedIndex].text){ sel.options[sel.selectedIndex].value=s; sel.options[sel.selectedIndex].text=s; } event.returnValue = false; if (!event.returnValue && sel.onchange) sel.onchange(sel) }}//select下拉框的onfocus事件,保存下拉框原来的值function catch_focus(sel) { oldText = sel.options[sel.selectedIndex].value; oldValue = sel.options[sel.selectedIndex].value;}//select 选择框鼠标上移时提示选择的内容function selMouseOver(obj){ with (document.all.div_hint){ innerText = obj.options[obj.selectedIndex].text; if (innerText.length > 0){ innerText = " " + innerText + " "; style.display = "block"; style.left = event.clientX + 16; style.top = event.clientY; } }}//select 选择框鼠标移开时消失function selMouseOut(obj){ with (document.all.div_hint){ style.display = "none" }}//--></SCRIPT></Head><Body><!--调用--><select style='width:130px;z-index:-1' name='tmpSel' onmouseover=selMouseOver(this) onmouseout=selMouseOut(this) onkeydown=catch_keydown(this) onkeypress=catch_press(this) onfocus=catch_focus(this)> <option value=''></option></select><!--提示块--><div id=div_hint style="font-size:12px;color:red;display:none;position:absolute; z-index:2; top:200;background-color: #F7F7F7; layer-background-color: #0099FF; border: 1px #9c9c9c solid;filter:Alpha(style=0,opacity=80,finishOpacity=100);"></div></Body></Html>
?
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zwhfyy/archive/2009/05/21/4205515.aspx