如何:在运行时设置所选的“下拉列表”值

时间:2010-08-23 16:29:23

标签: java

粘贴下面的代码我用来创建下拉列表和java脚本来做一些事情

<td>
  <select id="currentCustomer" onchange="showSelectedCustomer(this)">
  <c:forEach var="Customer" items="${listCustomer}" >
      <option value="<c:out value="${Customer}" />"><c:out value="${Customer}" />
      </option>
 </c:forEach>
  </select>
</td>

function showSelectedCustomer(dropdown) {
var selectedCustomer = dropdown.options[dropdown.selectedIndex].value;
var currentCustomer = document.getElementById('currentCustomer');

 var context = document.forms[0].context.value;
document.forms[0].mode.value = "UPDATE";
document.forms[0].custName.value = dropdown.options[dropdown.selectedIndex].value;
document.forms[0].action=context+"/updateReportDetail.do";
document.forms[0].method="POST";
document.forms[0].submit();
}

我的问题是  如何在下拉列表中动态设置onselected值。

让我在这里简要解释一下,

最初在登录应用程序时,着陆“x.JSP”页面将显示具有多个客户名称的下拉列表,默认情况下第一个客户名称为选定的客户名称。 如果我在下拉列表中选择其他客户名称我正在调用Javascript [onchage事件]来提交表单并在DAO java类中为所选客户执行其他操作并返回“x.JSP”页面。

现在我需要在下拉列表中设置最新的客户名称[即我在DAO java类中处理的客户]作为选择的客户名称。

帮助我们。谢谢你们的努力。

1 个答案:

答案 0 :(得分:2)

在forEach循环中,检查当前迭代中的Customer是否与您预先选择的匹配。您没有说明在页面加载时如何选择“正确”的客户,因此我将使用一些伪代码。

<c:forEach var="Customer" items="${listCustomer}" >
   <%  String selected = "";  
       if (customer.equals(predeterminedCustomerToBeSelected)) {
           selected = "selected"; }
   %>
      <option value="<c:out value="${Customer}" />" <%=selected%>><c:out value="${Customer}" />
      </option>
 </c:forEach>