【问题标题】:Replace onclick specific parameter by click on div with jQuery用jQuery点击div替换onclick特定参数
【发布时间】:2014-01-28 12:35:13
【问题描述】:

我正在构建自定义购物车,我使用 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>

我想要的是,当我点击产品 &lt;div id="product"&gt; 时,隐藏输入中的值也会在添加到购物车按钮上更新,第一个参数为 onclick attr,即 Product_ID,对此的任何帮助都将非常感激。

【问题讨论】:

  • 我正在尝试通过以下小提琴链接jsfiddle.net/SJP7k/14来解决这个问题
  • 请注意,您上面的示例不包含 Jquery 的一部分。都是纯 JavaScript。

标签: javascript jquery


【解决方案1】:

演示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);
}

我希望这是你需要的

【讨论】:

  • 另一个问题,如果参数的值是动态的,我的意思是我们已经通过匹配值字符串替换了 "Product Price" 的值,所以而不是 “产品价格”会有一些随机值!那么我们怎样才能只更新特定的(第一个或第二个)参数。
【解决方案2】:

要“快速修复”此代码,您可以使用以下代码:

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

【讨论】:

    猜你喜欢
    • 2013-07-18
    • 1970-01-01
    • 2011-05-25
    • 1970-01-01
    • 1970-01-01
    • 2012-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多