2013-08-06 104 views
0

當用戶從列表中選擇項目時,如何隱藏標籤,我使用此代碼隱藏輸入文本,但我如何隱藏該輸入文本的標籤?當從列表中選擇項目時隱藏標籤 - javascript

<form name="myform"> 
<table> 
<td> 
<select name="one" onchange="if (this.selectedIndex==8){this.myform['other'].style.visibility='visible'}else {this.myform['other'].style.visibility='hidden'};"> 
<option value="" selected="selected">Select...</option> 
<option value="1">1</option> 
<option value="2">3</option> 
<option value="3">3</option> 
<option value="4">4</option> 
<option value="5">5</option> 
<option value="6">6</option> 
<option value="7">7</option> 
<option value="other">Other</option> 
</select> 
<label>Other</label><input type="textbox" name="other" style="visibility:hidden;"/> 
</td> 
</table> 
</form> 

我想隱藏<label>Other</label>我該怎麼做?

+1

'selectedIndex'是一個數字,而不是一個字符串。 –

+0

您是否想要檢查'.value'屬性? – Ian

+0

@lan沒有輸入文字的值,標籤

回答

0

DEMO

你不能這樣this.selectedIndex

變化下拉匹配的文本或值它this.selectedIndex == 8匹配指數

給予文本框id="other"顯示或隱藏它。

<select name="one" onchange="if (this.selectedIndex== 8){document.getElementById('other').style.visibility='visible'}else {document.getElementById('other').style.visibility='hidden'};"> 

Updated Demo

取得了新的ID爲標籤l_other

<select name="one" onchange="if (this.selectedIndex== 8){document.getElementById('l_other').style.visibility='visible'; 
document.getElementById('other').style.visibility='visible'}else {document.getElementById('l_other').style.visibility='hidden'; 
document.getElementById('other').style.visibility='hidden'};"> 

Demo

利用單一的div id爲other包裝labeltextbox裏面

<select name="one" onchange="if (this.selectedIndex== 8){ 
document.getElementById('other').style.visibility='visible'}else{ 
document.getElementById('other').style.visibility='hidden'}"> 
+0

謝謝,但我怎麼可以隱藏標籤? –

+0

@ AbdullahAl-hazmy你可以覆蓋你的標籤,並輸入一些div,並使div可見/隱藏的條件。 –

+0

檢查新演示http://jsfiddle.net/cse_tushar/7NL9A/1/ –

0

更改您的選擇標籤並輸入文字如下。

<select name="one" onchange="if (this.selectedIndex=='other'){document.getElementById("otherText").style.visibility='visible'}else {document.getElementById("otherText").style.visibility='hidden'};"> 


<div id="otherText" style="visibility:hidden;"><label>Other</label><input type="textbox" name="other" /></div> 

希望這會有所幫助。

0
function OnChange(that) {    
     var lblOther = document.getElementById('lblOther'); 
     if (that.options[that.selectedIndex].text == 'Other') {     
      lblOther.style.display = "block"; 
     } 
     else {    
      lblOther.style.display = "none";    
     }; 
    } 

<form name="myform"> 
    <table> 
     <td> 
      <select name="one" onchange="OnChange(this);"> 
       <option value="" selected="selected">Select...</option> 
       <option value="1">1</option> 
       <option value="2">3</option> 
       <option value="3">3</option> 
       <option value="4">4</option> 
       <option value="5">5</option> 
       <option value="6">6</option> 
       <option value="7">7</option> 
       <option value="other">Other</option> 
      </select> 
      <label id="lblOther" style="display: block;">Other</label><input type="textbox" name="other" style="visibility: hidden;" /> 
     </td> 
    </table> 
</form> 
相關問題