用jQuery单击div替换onclick特定参数

时间:2014-01-28 12:35:14

标签: javascript jquery

我正在构建自定义购物车,我在弹出模型中使用jQuery onclick在同一页面上显示产品详细信息,但在弹出窗口中我还想在“添加到购物车”按钮上更新 product_ID 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 ,对此有任何帮助都是非常值得赞赏的。

2 个答案:

答案 0 :(得分: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);
}

我希望这就是你需要的东西

答案 1 :(得分:0)

快速修复&#39;这段代码,您可以使用以下内容:

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'));
});