前述程序中有一个 bug,不知大家发觉没有。举个例子,我们第一次展开下拉列表框并选择第一项时,文本框没有动静;再比如我们选择了第二项,修改了文本框的内容,再选择第二项时文本框内容竟然不变。
这是由于当前选择的下拉列表框项与前一次选择的相同,所以没有触发 onchange 事件,文本框内容也得不到更新了。
重新设计代码如下,红色部分为有变动的部分。
<input style="width:72px;height:22px" id="textUin"> <span style="position:absolute;margin:1px 1px 1px -6px"><select style="margin-left:-72px;width:90px;" onchange="document.getElementById('textUin').value=value;this.selectedIndex=-1;" id="l"><option value="123">123</option><option value="abc">abc</option></select></span>
<script type="text/javascript" language="javascript">
<!--
document.getElementById("l").selectedIndex = -1;
//-->
</script>
示例:
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]