0

我正在处理需要刷新父窗口的某些 div 的页面,这是我的用例

  1. 用户单击添加到购物车按钮,将弹出一个包含添加的产品详细信息的弹出窗口。
  2. 我正在调用包含在父窗口中的 JS 文件中定义的 java-script 方法。

从该函数中,我正在调用 ajax 调用,并希望从使用 ajax 调用从服务器发送的内容中替换该 div 内容,这是方法

function updateAllotmentQtySection(){

 if($('#isProductAllotment').length > 0){
 var allotmentEntryCode=$("#allotmentEntryCode").val();
 var productcode=$("#productCodePost").val();
 $.ajax({
        type: "GET",
         url: "/storefront/cart/getProductedAllotment/?productCode="+productcode+"&allotmentEntryCode="+allotmentEntryCode,
        success: function(response) {
         //alert(response);
            $("#productAllotmentQtyDiv").html(response);
         }
    });

  }

这是我要更新的 Div 部分

<div id="productAllotmentQtyDiv">
 <c:choose>
    <c:when test="${not empty productAllotment}">

        <select name="qty" id="qty" class="productDetailsSelect">
          <c:forEach items="${productAllotmentQty}" var="productAllotmentQty">
              <option value="${productAllotmentQty}">${productAllotmentQty}</option>
          </c:forEach>
        </select>

       <input type="hidden" name="allotmentEntryCode" id="allotmentEntryCode" value="${productAllotment.code}" />
       <input type="hidden" name="isProductAllotment" id="isProductAllotment" value="true"/>

    </c:when>

   <c:otherwise>

    <c:when test="${not empty editPersonalization}">
     <input style="width: 46px;" type="text" size="1" id="qty"
      name="qty" value="${quantity}" readonly="readonly" />
    </c:when>
    <c:otherwise>
     <input style="width: 46px;" type="text" size="1" id="qty"
      name="qty" value="${quantity}" />
    </c:otherwise>
   </c:otherwise>
    </c:choose>
    </div>

我正在从 div 内的服务器发送相同的内容,甚至我能够在警报标签下看到正确的响应,但由于 div 没有得到更新而只显示以前的值,因此不确定哪里是错误的部分

4

1 回答 1

0

用于window.opener从子级调用父级上下文中的函数:

window.opener.updateAllotmentQtySection();

(假设 updateAllotmentQtySection() 存在于父级的全局命名空间中)

于 2012-10-05T10:04:25.577 回答