2014-03-07 87 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的第一個元素上觸發。

改爲使用類,您的代碼將正常工作。