【问题标题】:populating form fields on select of dropdown from java beans在从 Java bean 中选择下拉列表时填充表单字段
【发布时间】:2013-03-25 19:06:30
【问题描述】:

我有一个带有 5 个文本字段的 html 表单。

我有一个从 servlet 中的数据库查询创建的用户对象的 ArrayList。

我使用 jstl 填充了选择选项的下拉菜单,并且填充得很好。

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

我要做的是在选择时将用户对象与数组列表隔离,并使用所选对象的其他属性填充表单字段,例如:

user.firstName、user.lastName、user.email 等......

我大部分时间都在寻找答案,但没有运气。

感谢任何帮助。

【问题讨论】:

    标签: java jsp jstl javabeans el


    【解决方案1】:

    这可以在 Javascript 中轻松处理。 &lt;option&gt; 标签有一个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">
    ...
    

    使用此方法的一个警告是,这依赖于所选字段中不存在逗号字符 ,。在这种情况下,可以使用另一个分隔符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-11
      • 2018-01-01
      • 2018-03-29
      • 2017-08-03
      相关资源
      最近更新 更多