2014-03-07 88 views
0

我想在每次检查复选框时运行这个jQuery函数,此刻它只会在第一次检查一个框时工作,下一个检查框将不会执行任何操作,所以上。不止一次运行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

你在每个复选框上使用相同的ID吗?你不应该那样做.. – lifetimes

回答

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

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

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