我有一個.each
循環是這樣的:在每個循環Click事件觸發多次
$('.form-base-subscriptions input').each(function (index, value) {
var uniqueId = $(this).attr('id'),
uniqueId = uniqueId.substring(uniqueId.lastIndexOf('_')),
$parent = $(this).parent(),
$content = $parent.html();
$content = $content.split('~'),
input = $content[0],
amount = $content[4],
var $toggle = $parent.find('.form-toggle'),
$checkbox = $toggle.find('input');
$toggle.on('click', function() {
$('.form-base-subscriptions .form-toggle').removeClass('active');
$('.form-base-subscriptions input').prop('checked', false);
$toggle.addClass('active');
$checkbox.prop('checked', true);
var currentId = $(this).attr("id");
if (currentId == "toggle_151" || currentId == "toggle_170") {
amount = '1.50';
} else {
console.log('check');
amount = '0';
}
$('#toggle_153 input').attr('data-amount', amount);
$('#toggle_153 span').html(amount);
//updateWellnessPrice();
updateSubscriptionAmount();
});
如何我每次點擊觸發此onCLick event
只有一次?現在每點擊一次就會觸發兩次。
移動點擊ev退出'.each'循環。由於循環,現在您多次註冊點擊事件。 – Krishna
可能不相關,但由於流氓';'(或者更可能,由於流氓','而且你沒有在頂部聲明所有變量),你好像在全局範圍內放棄了變量。 – Sumurai8
需要查看相關的html - 具體來說,是否有一個'.form-toggle'(如名稱和錯誤暗示)或每個輸入一個(如代碼所示)。如果只有一個,你需要確保'$ toggle.on('click''只被調用一次 –