2011-05-25 65 views
3

我有兩個組合框: 啓用監控:是/否 和 操作模式:客戶端/服務器2組合框一起工作

第一位的默認值是「否」和第二個應該被隱藏。當我將其更改爲「是」時,我希望第二個組合框可見。我怎樣才能做到這一點?

<tr> 
     <td width="25%" class="titulos" nowrap>Enable monitoring:</td> 
     <td width="75%" class="dados" nowrap> 
     <select class="dados" name="proxyconf" onchange="showOptions();"> 
     <option value="1" selected>No</option> 
     <option value="2" >Yes</option> 
     </select> 
     </td> 
    </tr> 
    <tr> 
     <td width="25%" class="titulos" nowrap>Operation Mode:</td> 
     <td width="75%" class="dados" nowrap> 
     <select class="dados" name="proxyconf" onchange="showOptions();"> 
     <option value="1" selected>No</option> 
     <option value="2" >Yes</option> 
     </select> 
     </td> 
    </tr> 

回答

0

你可以用Javascript做到這一點。

給第二個選項框的ID,然後使用JavaScript來顯示/隱藏:

<script type="text/javascript"> 
function showOptions() { 
    var elem = document.getElementById("id_of_second_box"); 
    elem.style.display = "block"; 
} 
</script> 

您可以參考的選項框的功能傳遞,如果你喜歡,也有很多不同使用Javascript和CSS顯示/隱藏元素的方法,但是按照上述方法應該有所幫助。

+0

這將工作,如果第二個被隱藏之前。但爲了跨瀏覽器兼容性,你必須用JS隱藏它。 – Blender 2011-05-25 16:21:08

+0

這是真的 - 你可以用CSS隱藏它,但是如你所說,沒有啓用JS的人永遠不會看到它。 – 2011-05-25 16:22:18

0

使用JavaScript:

function showOptions(elem){ 
    if(elem.value == "2"){ 
    document.getElementById("second").style.visibility = "visible"; 
    }else{ 
    document.getElementById("second").style.visibility = "hidden";  
    } 
} 

而且第一組合框:

<select class="dados" name="proxyconf" onchange="showOptions(this);" id="first"> 
    <option value="1" selected>No</option> 
    <option value="2" >Yes</option> 
</select> 

,第二個:

<select class="dados" name="proxyconf" onchange="" id="second" style="visibility:hidden"> 
    <option value="1" selected>No</option> 
    <option value="2" >Yes</option> 
    </select> 

但是這未必是跨瀏覽器兼容,所以仔細檢查。