从孩子刷新父窗口div

时间:2012-10-05 09:38:14

标签: javascript jquery html

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

  1. 用户点击添加到购物车按钮,弹出窗口将添加产品详细信息。
  2. 我正在调用一个JS文件中定义的java脚本方法,该文件包含在父窗口中。
  3. 从该函数我调用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没有得到更新但只显示以前的值

1 个答案:

答案 0 :(得分:0)

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

window.opener.updateAllotmentQtySection();

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