我如何填充一些文本字段的选择选项从表单:选择有项目作为对象列表

How can i populate some textfield on selection of an option from the form:select having items as object list?

本文关键字:选择 表单 选项 项目 列表 对象 何填充 填充 字段 文本      更新时间:2023-09-26

我有一个DTO属性id,名称和文本。我正在生成这些DTO的列表,并通过model.addAttribute将它们发送到我的JSP中。在我的jsp中,我像这样呈现一个spring列表。

<form:select path="notificationsId" id="notificationsId" name="notificationsId">
     <form:options items="${templateList}" itemValue="notificationsId" itemLabel="notificationName" />
    </form:select>

现在我想用"notificationMessage"填充我的页面中的文本框,这是我的DTO中的一个属性。当然,我希望所选列表项的文本被显示。但问题是,我找不到任何方法去做。我不能在标签上调用一些javascript来发送不同的数据到函数。onclick方法对我没有用处,因为我对每个列表项都有不同的数据。谁能告诉我怎么解决这个问题?

您将使用JavaScript。我更喜欢jQuery,我会这样做:

<script>
  $(document).ready(function() {
    var dtoMap = new Array();
    <c:forEach items=${yourDtoArray}" var="dto">
      dtoMap['${yourKey}'] = '${yourVal}'
    </c:forEach>
    $('#notificationsId').change(function() {
      $('#notificationMessage').val($('notificationsId').val());
    });
  });
</script>