【问题标题】:How to update a specific div from an ajax response object returns a form in javascript如何从 ajax 响应对象更新特定 div 返回 javascript 中的表单
【发布时间】: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


【解决方案1】:

我终于找到了答案。非常感谢您对 jQuery 的支持。 这是为我工作的线路。

    $('#statesManager').load('yoururl #manager', 
{ 'parameterName': $('#countryNameField option:selected').val() });

【讨论】:

    猜你喜欢
    • 2021-01-16
    • 2015-10-21
    • 1970-01-01
    • 2013-01-03
    • 1970-01-01
    • 2018-02-22
    • 2012-03-17
    • 1970-01-01
    • 2018-09-09
    相关资源
    最近更新 更多