2016-04-30 1 views
0

私はJQueryコードははJQuery:

ショッピングカートページは、製品の[i]の数で構成されて現在の製品IDを無視リンクに同一の値を返し、現在のアイテムIDに基づいて、各リンクについてATTRを変更動的に反復し各製品には独自のproductIdがあります。ページが反復して[i]個の製品を出力するため、wishIstの数であるwishlistの反復の中にproductIdを含めることはできません。

私は、JQueryにアクセスし、各製品のリンクを変更する属性を選択して、ユーザーがクリックしてウィッシュリストに商品を挿入できるようにすることにしました。

各製品の最後のリンクは、私は以下のコードを試みたが、それは繰り返し続け、非常に長いリンクを出力してのみ各製品に移入する格納された商品コード1を保持http://example.com/customer.do?addThisProductToWishList&productID=[i]&wishlistID=[i]

であるべきです。

jQueryのコード

$(".details").each(function() { 
      var _href = $(".addThisProductToWishList").attr("href"); 
       $(".ProductID").each(function(){ 
        var _theProductID = $(".ProductID").attr("data-id"); 
        $(".addThisProductToWishList").attr("href", _href + '&productId=' + _theProductID + '&wishListID='); 
      }); 
     }); 

Please see this image which describes the final output

EDIT

HTMLコード

<input type="hidden" name="wishListID"/> 
     <span class="wishListID" data-id="<js:text name="ProductID" />"></span> 
     <ul class="dropdown-list"> 
       <js:iterate id="wishlists" collection="<%=wishListsCollection.getLists(new Integer(1))%>" > 
        <li class="dropdown-element"> 
         <span data-id="<js:text name="wishList.wishListID"/>"> 
         <js:text name="wishList.wishListName"/> 
         <js:a actionpath="/customer.do?action=addThisProductToWishList" name="product.productId" class="addThisProductToWishList"> 
          <app:msg key="product.add_to_wishlist" /> </js:a> 
              </span> 
            </js:iterate> 
             </li> 
           </ul> 

答えて

0

私はあなたがreferrinされていないと思いますあなたが同じ価値を得ている理由は、現在の状況に影響を与えます。現在のコンテキストにはthisを使用してください。私は下の例があなたを助けることを望む。

$(document).ready(function() { 
 
    $('.details').each(function() { 
 
    var pID = $(this).attr('data-product-id'); 
 
    var wID = $(this).attr('data-wish-id'); 
 
    $(this).find('a').attr('href', 'http://example.com/customer.do?addThisProductToWishList&productID=' + pID + '&wishlistID=' + wID); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div class="details" data-product-id="1" data-wish-id="a"> 
 
    <a href="#">Product1</a> 
 
</div> 
 

 
<div class="details" data-product-id="2" data-wish-id="b"> 
 
    <a href="#">Product2</a> 
 
</div> 
 

 
<div class="details" data-product-id="3" data-wish-id="c"> 
 
    <a href="#">Product3</a> 
 
</div>

+0

こんにちは答えてくれてありがとうを@kalpesh。私はあなたの提案を試みたが、毎回私は両方のIDの任意の提案に未定義になる?? –

+0

関連するHTMLコードとJSコードを投稿できますか? –

+0

私はHTMLコードを追加して質問を更新しましたが、JSコードは前に投稿したものと同じです。 –