select的onchange事件中写JavaScript来控制别的表单元素的visibility属性为"hidden"或"none"就可以了

解决方案 »

  1.   

    <select name=n1 onchange="if (this.options[this.selectedIndex].value=='v1') {d1.style.visibility='inherit';d2.style.visibility='hidden';} else {d2.style.visibility='inherit';d1.style.visibility='hidden';}">
    <option value=v1 selected>v1</option>
    <option value=v2>v2</option>
    </select>
    <div id=d1 style="visibility:hidden"><input name=dd></div>
    <div id=d2 style="visibility:hidden"><input type=button name=dd value="button"></div>
      

  2.   

    测试通过
    <script>
    function Show(pSelf)
    {
    for(iIndex=0;iIndex<pSelf.length;iIndex++)
    {
    if(pSelf.options[iIndex].selected)
    {
    eval("document.all.ID"+pSelf.options[iIndex].text+".style.visibility='';");
    }
    else
    {eval("document.all.ID"+pSelf.options[iIndex].text+".style.visibility='hidden';");
    }
    }
    }
    </script>
    <select onchange="Show(this)">
    <option>1</option>
    <option>2</option>
    </select>
    <br>
    <input type=text id="ID1" value="1" style="visibility:hidden;">
    <br>
    <input type=text id="ID2" value="2" style="visibility:hidden;">
      

  3.   

    <HTML>
    <HEAD>
    <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
    <TITLE></TITLE>
    </HEAD>
    <BODY>
    <select id=S0 onChange="foo()">
    <option>1</option>
    <option>2</option>
    </select>
    <br>
    <select id=S1>
    <option>1</option>
    <option>2</option>
    </select>
    <select id=S2>
    <option>1</option>
    <option>2</option>
    </select>
    <br>
    <input type=button id=button1 name=button1 value=click style="visibility:hidden">
    <input type=button id=button2 name=button2 value=click style="visibility:hidden">
    <input type=button id=button3 name=button3 value=click style="visibility:hidden">
    <script>
    function foo(){
    if(S0.selectedIndex == 0){
    S1.style.visibility = "";
    S2.style.visibility = "";
    }
    else{
    S1.style.visibility = "hidden";
    S2.style.visibility = "hidden";
    }
    if(S0.selectedIndex == 1){
    button1.style.visibility = "";
    button2.style.visibility = "";
    button3.style.visibility = "";
    }
    else{
    button1.style.visibility = "hidden";
    button2.style.visibility = "hidden";
    button3.style.visibility = "hidden";
    }
    }
    </script></BODY>
    </HTML>
      

  4.   

    我要把这些select 和button
    还有比如radio等
    放在一个table中
    如果通过设置visibility的方法
    会不会影响页面的视觉效果呢?
      

  5.   

    试验了一下
    虽然不可见
    但是还是占地方
    有没有好的解决方法?我想是不是可以在select的onchange的时候提交这个页面到自身
    然后获得被选中的项的参数
    然后写页面?
    但是有点麻烦