2015-05-14 23 views
0

我有一個JSP文件,其中包括這些行:如何根據S上顯示的文本字段:選擇支柱2

<s:select list="list" name="message" id="selectMsg"></s:select> 
<div id="txtMessage" style="display:none"> 
    <h3> 
     <span id="txtMessage" style="margin-left: 230px"> 
      Message: <s:textarea name="message" placeholder="Message"/> 
     </span> 
    </h3> 
</div> 

操作:

public String warn() throws Exception { 
    WarnDAO dao = new WarnDAO(); 

    AccountDAO accdao = new AccountDAO(); 
    acc = accdao.getAccountByUsername(username); 

    List<WarningMessage> warningMessage = dao.showMsg(); 
    list = new ArrayList<String>(); 
    for (WarningMessage warningMessage1 : warningMessage) { 
     list.add(warningMessage1.getMessage()); 
    } 
    list.add("Other"); 


    warning_msg_DAO wmDAO = new warning_msg_DAO(); 
    wm = wmDAO.getByMessage(message); 

    DateFormat dateFormat = new SimpleDateFormat("hh:mm a dd/MM/yyyy"); 
    Date date = new Date(); 
    System.out.println(dateFormat.format(date)); 
    WarningAccount warningAcc = new WarningAccount(); 
    warningAcc.setWarnedaccount(acc); 
    warningAcc.setMessage(message); 
    warningAcc.setDay(date); 

    dao.warn(warningAcc); 
    return "success"; 
} 

在S:選擇包括一個選項「其他」。當用戶選擇「其他」時,文本區域將顯示並允許用戶輸入他們自己的消息。有沒有解決方法?

+0

你重新發明輪子。你正在尋找的對象很可能是[autocompleter](http://jqueryui.com/autocomplete/#combobox),除非你真的需要一個textarea(例如保存換行符)替代文本。在這種情況下,只需使用vanilla javascript或jQuery或其他任何方法,根據select的值顯示/隱藏textarea。 –

回答

1

function toggleOther(val){ 
 
    document.getElementById("other").style.display = (val=="other") ? "block" : "none"; 
 
}
<select onchange="toggleOther(this.value);"> 
 
    <option value="foo" >________ FOO ________</option> 
 
    <option value="bar" >________ BAR ________</option> 
 
    <option value="other">_______ OTHER ______</option> 
 
</select> 
 
<div id="other" style="display: none;">  
 
    <textarea>I'm visible only when choosing OTHER</textarea> 
 
</div>

相關問題