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 に答える