不止一次运行jQuery函数

时间:2014-03-07 14:42:00

标签: jquery html checkbox

我希望每次选中一个复选框时运行这个jQuery函数,此时它只会在我第一次检查一个框时工作,下一个选中的框将不执行任何操作,依此类推。

这是我的jQuery:

$('#check').change(function () {
    var price = $(this).data('price');
    var currPrice = $('.pricedisplay').data('price');
    $('.pricedisplay').text(price + currPrice);
});

和一个复选框:

<input type="checkbox" id="check" name="check-1" data-price="50">

我最终会有数百个复选框,因此我无法为每个复选框创建单独的函数。

先谢谢,我是jQuery的新手。

2 个答案:

答案 0 :(得分:2)

id是唯一的,您可以改用类:

<input type="checkbox" class="check" name="check-1" data-price="50">

然后你可以这样做:

$('.check').change(function () {
    var price = $(this).data('price');
    var currPrice = $('.pricedisplay').data('price');
    $('.pricedisplay').text(price + currPrice);
});

答案 1 :(得分:1)

您发出的是重复ID - 页面上的每个ID都必须是唯一的。这会导致jQuery事件仅在具有该ID的第一个元素上触发。

使用类代码,您的代码将正常工作。