讨论两个问题,关于可编辑下拉框和onkeypress事件的

fastson 2003-11-21 01:27:27
1、用一个inputbox和一个select模拟可编辑的下拉框的时候,一般都是在select的onchange事件中编写处理代码,可是如果下拉列表只有一个option的时候,怎么点击都不会触发onchange事件.
我的解决办法是在页面加载时让那个select的selectedIndex=-1,并且在input的onkeyup事件中让select的selectedIndex=-1,可是如果一个页面上有很多这种下拉框,感觉就太麻烦了,不知道各位有什么好招
2、就是在调试上面的过程中,发现了一个很古怪的现象,如果不开输入法,一切正常,如果开着微软拼音输入法的英文状态,在input上击键就不会触发事件,onkeypress,onkeydown,onkeyup都不行,不知道怎么回事,那位给咱解释一下?
...全文
95 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fastson 2003-11-21
  • 打赏
  • 举报
回复
第二个问题,有没有人回答阿??
huanmeng1980 2003-11-21
  • 打赏
  • 举报
回复
第一个问题解决:

<script language="javascript">
<!--
function refresh(o){
o.selectedIndex=-1
}

function selchange(text,sel){
if (sel.selectedIndex!=-1) {
text.onchange=null;
text.value=sel.value;
text.onchange=function(){
refresh(sel);
};
}
}
//-->
</script>

<select style="position:absolute; left:50px; top:20px; z-index:1;width:127; height:19;clip: rect(3 125 19 109)" name="myselect" style="" onchange="selchange(document.all.test,this);" size="1">
<option selected value="ssfasf">ssfasf</option>
</select>
<input style="position: absolute; left: 50px; top: 21px;z-index:2;font-size: 12px; padding-top: 2px; padding-left: 2px;" type="text" name="test" onchange="refresh(document.all.myselect);" size="20" style="width: 127; height: 19">

第二个问题没办法
meizz 2003-11-21
  • 打赏
  • 举报
回复
楼主, 你再等几天吧, 新的东西我就要发布了, 当然可以应用于多下拉框, 那个只是测试而已
fastson 2003-11-21
  • 打赏
  • 举报
回复
to 黄蓉:我需要的是尽量精简并封装好的代码,因为我的一个页面上有很多这种输入框
hrong 2003-11-21
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/TopicView1.asp?id=2143373 // JS Web Combo Box

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧