<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<script type="text/javascript">
function aa(){
 var n = document.all.number.value;
     alert(n); //为什么只能弹出一次如:第一次选择了1,第二次选择1时就弹不出来了???乍弹出来呀
}
</script>
<body><select name="number" onchange="aa();">
<option>数字</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select></body>
</html>为什么第二次选择进就得不到值了呀怎么让它弹出来呀!

解决方案 »

  1.   

    onchange是值发生改变的时候才会执行函数,第一次1,第二次还是1的话值没有发生改变。
      

  2.   

    onchange()函数 是根据option的值来确定的,值变了,函数才能调用。
      

  3.   

    都说了onchange了
    change的意思是"变"
      

  4.   

    onchange是值发生变化时触发的,如果值没有变化,函数不会被执行,onblur是只要一失去焦点就触发,函数就会执行。
      

  5.   

    楼上的方法可行!不过通常都用onchange2次选择一样,不是等于第二次没选吗? 没必要做什么操作!
      

  6.   

    用 onblur时,当用户选择时光标还在上面没有失去呀,只有用户在点一下页面上任意一个地方在行呀
      

  7.   

    还有怎么控制它的大小样,<option value="1">11111111111111111111111111111111111111111111111111</option>
    很长进它就多大,能不能固定
      

  8.   

    终极方法:用JS模拟select,每次选择时,不管同不同都会触发事件。用overflow:hidden;限制容器的长度。这样什么问题都解决了
      

  9.   

    onchange 是select值发生变化时触发,建议你最好还是用这个,没必要用onblur,