0
<html>
<body>

<select onfocus='blur(this);'>
  <option>Volvo</option>
  <option>Saab</option>
  <option>Mercedes</option>
  <option>Audi</option>
</select>

</body>
</html>

在 Firefox 中,这可以正常工作。在 IE8 中,通过反复单击,您可以获得出现的选项。是什么赋予了?我还能做些什么来使选择变为只读而不将其显示为禁用?

4

2 回答 2

2

它将是 onfocus="this.blur()"

但你为什么要这样做?只需禁用它。如果您需要该值,请将其复制到隐藏字段

更新:

<script>
function changeSel(idx) {
  var sel = document.forms[0].sel;
  sel.selectedIndex=idx;
  sel.form.selCopy.value=idx;
}
window.onload=function() {
  changeSel(document.forms[0].sel.selectedIndex);
}  
</script>
<form>
<input type="text" name="selCopy" value="not set" />
<select name="sel" size="1" disabled="disabled">
<option>Zero</option>
<option>One</option>
<option selected>Two</option>
<option>Three</option>
<option>Four</option>
</select>
<input type="button" onClick="changeSel(3)" value="Three" />
</form>
于 2011-04-04T12:19:28.377 回答
1

你可能想去这里: HTML 表单只读 SELECT tag/input

于 2011-04-04T12:19:18.347 回答