2016-04-03 76 views
-1

我有一个列表框,如果我有一个选定的项目,我想显示一个textarea,它非常简单,但我的代码不工作,任何人都可以帮助我吗?显示textarea如果列表框中的选定项目发生变化

列表框代码:

<select onchange="change(this)" name="idUser" class="form-control"> 
     <c:forEach items= '${listeU}' var='p' > 
      <option value="${p.getIdUser()}"> ${p.getIdUser()} - ${p.getNom()} ${p.getPrenom()}</option>    
     </c:forEach>  
</select> 

JS:

function change(obj) { 
     var selectBox = obj; 
     var selected = selectBox.options[selectBox.selectedIndex].value; 
     var textarea = document.getElementById("text_area"); 

     if(selected === '1'){ 
      textarea.show(); 
     } 
     else{ 
     textarea.style.display = "none"; 
     } 
} 

项目显示:

<textarea id="text_area" type="text" name="text_area" style="display: none"></textarea> 

回答

1

show()是jQuery和你使用纯JS所以你应该更换:

textarea.style.display = "block"; 

希望这有助于。


function change(obj) { 
 
    var selectBox = obj; 
 
    var selected = selectBox.options[selectBox.selectedIndex].value; 
 
    var textarea = document.getElementById("text_area"); 
 

 
    if(selected === '1'){ 
 
    textarea.style.display = "none"; 
 
    } 
 
    else{ 
 
    textarea.style.display = "block"; 
 
    } 
 
}
<select onchange="change(this)" name="idUser" class="form-control"> 
 
    <option value="1"> option 1</option> 
 
    <option value="2"> option 2</option> 
 
    <option value="3"> option 3</option> 
 
</select> 
 

 
<textarea id="text_area" type="text" name="text_area" style="display: none"></textarea>

+0

@Bashir是你不想要的? –

相关问题