2014-01-28 53 views
0

我正在構建自定義購物車,在彈出的模型中使用jQuery onclick在同一頁面上顯示產品詳細信息,但是在彈出窗口上我還想更新product_ID「Add在的onclick的第一個參數購物車」按鈕,下面是demonsration代碼:用jQuery點擊div替換onclick的具體參數

產品縮略圖:

<div id="product"> 
    <img src="http://placehold.it/250x150" /> 
    <input type="hidden" value="159" /> 
</div> 

彈出添加到購物車按鈕

<a href="#" onclick="add_to_cart('Product_ID', 'Product_Price');">Add to Cart</a> 

我想要的是,當我對產品<div id="product">點擊比也更新添加到購物車按鈕與第一個參數的onclick ATTR在隱藏輸入的值,它是PRODUCT_ID,對此的任何幫助將非常可觀。

+0

我試圖來解決以下鏈接小提琴http://jsfiddle.net/SJP7k/14/ –

+0

就這個問題請注意,上面的示例不包含Jquery的一個小塊。這都是純粹的JavaScript。 – Liam

回答

2

演示FIDDLE

jQuery的

 $(document).ready(function(){ 
var ProductID = $('div').find('#ProductID').attr('value'); 
    var Price = $('div').find('#price').attr('value'); 

$('div').click(function (event) { 
    event.preventDefault(); 
    $('a').attr('onclick', function (i, v) { 
     v=v.replace('Product ID',ProductID); 
     return v.replace('Product Price',Price); 
    }); 
}); 

    }); 

function add_to_cart(productid,price) 
{ 
    alert(productid+"/"+price); 
} 

我希望這是你所需要的

+0

感謝P.Sethuraman,這正是我需要的,乾杯:) –

+0

另一個問題,如果參數的值是動態的,我的意思是我們已經通過匹配值來代替**「產品價格」**的值字符串,所以而不是**「產品價格」**會有一些隨機值! 那麼我們如何才能只更新特定的(第一或第二)參數。 –

0

要 '速戰速決' 的代碼,你可以用戶是這樣的:

http://jsfiddle.net/SJP7k/15/

小提琴HTML

<div id="product"> 
    <img src="http://placehold.it/250x150" /> 
    <input type="hidden" value="159" /> 
</div> 
<br> 
<br> 
<a href="#" id="add" data-product="10" data-price="9.95">Add to Cart btn in popup</a> 

小提琴JS

$('#product').click(function (event) { 
    event.preventDefault(); 
    var ProductID = $(this).find('input').attr('value'); 
    $('#add').data('product', ProductID); 
}); 

$('#add').click(function() { 
    alert('PRODUCT: ' + $(this).data('product') + ' PRICE: $' + $(this).data('price')); 
});