2016-04-03 10 views
-1

リストボックスがあり、選択したアイテムがあればテキストエリアを表示したいので、シンプルですがコードが機能していません。リストボックス内の選択された項目が変更された場合、テキストエリアを表示する

リストボックスコード:

<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あなたが探していない何ということでしょうか? –

関連する問題