【发布时间】:2011-11-16 14:44:46
【问题描述】:
在选择特定下拉时,将发送到Spring MVC控制器。在 JSP 中创建的表单页面。控制器响应对象将完整的形式返回给 JSP。因此,当我使用 updateHTML 时,它会在之前加载的表单下返回另一个表单。
我只需要更新包含另一个下拉列表的特定 div。我想我有两个解决方案。仅从控制器发送该选择框的数据。否则我可以尝试只更新我想从响应中更改的 div。
JSP 页面中的两个下拉菜单
<b>Country:</b>
<spring:bind path="company.country">
<font color="red">
<b><c:out value="${status.errorMessage}"/></b>
</font>
<br/>
<select id="countryNameField" name="countryNameField" onchange="getStates();">
<option value="">--</option>
<c:forEach var="country" items="${countryList}">
<option value='<c:out value="${country}"/>'
<c:if test="${status.value == country}">selected</c:if>>
<c:out value="${country}"/>
</option>
</c:forEach>
</select>
</spring:bind>
<p/>
<div id="statesManager" name="statesManager" style="display:none">
<b>Manager:</b>
<spring:bind path="company.manager">
<font color="red">
<b><c:out value="${status.errorMessage}"/></b>
</font>
<br/>
<select name="manager">
<option value="">--</option>
<c:forEach var="manager" items="${managerList}">
<option value='<c:out value="${manager}"/>'
<c:if test="${status.value == manager}">selected</c:if>>
<c:out value="${manager}"/>
</option>
</c:forEach>
</select>
</spring:bind>
<p/>
</div>
从控制器返回的响应对象包含完整的表单。我只想更新 div
<div id="statesManager" name="statesManager" style="display:none">
Java 脚本代码处理 Ajax 部分
var response = httpRequest.responseText;
alert(response);
document.getElementById("statesManager").innerHTML = response;
document.getElementById("statesManager").style.display="block";
【问题讨论】:
-
你在使用 jQuery 吗? (你标记了它)
-
我不使用 jquery。如果有任何方法可以完成它,我不介意尝试使用 jquery。感谢您的关心。谢谢。
-
您要我删除 jquery 标记吗?如果你想使用 jquery 看看
load()方法,你需要做的一切! -> api.jquery.com/load -
$('#statesManager').load('your URL');简单嘿? -
我标记它是因为要查找是否有办法在 jquery 中执行此操作。其实我以前没有使用过jquery。但是,我听说这可以通过 jquery 来完成。这就是我标记它的原因。感谢您的支持。
标签: javascript jquery ajax jsp spring-mvc