2013-03-25 49 views
0

我有一個帶有5個文本字段的html表單。從java beans中選擇下拉列表的填充表單字段

我有一個從servlet中的數據庫查詢創建的用戶對象的ArrayList。

我已經使用jstl填充了選擇選項的下拉菜單,並且它填充正常。

<c:forEach var="user" items="${userList}"> 
<option>${user.userName}</option> 
</c:forEach> 

我想要做的是從上選擇數組列表隔離用戶對象,並填充與所選擇的對象的其他屬性,如表單字段:

user.firstName,用戶.lastName,user.email等....

我一直在尋找答案,大部分時間沒有運氣。

任何幫助表示讚賞。

回答

2

這可以很容易地在Javascript中處理。 <option>標記具有value屬性,您可以在其中「存儲」要顯示的數據。 JSTL將具有分隔字段,例如,使用逗號:

<select id="names" onchange="fillInFields()"> 
    <c:forEach var="user" items="${userList}"> 
     <option value="${user.firstName},${user.lastName},...">${user.userName}</option> 
    </c:forEach> 
</select> 

的JavaScript:

function fillInFields() { 
    var fields = document.getElementById("names").value.split(","); 
    document.getElementById("firstNameField").value = fields[0]; // name 
    ... 
} 

爲了完整起見,字段:

<input id="firstNameField"> 
... 

一個這種做法謹慎的話,就是這依賴於沒有逗號,感出現在所選字段中。在這種情況下,可以使用另一個分隔符。

+0

真棒...工作就像一個魅力..非常感謝 – 2013-03-26 19:09:43

相關問題