在下面的代码中,每当有人启动click功能时,我如何重写“donateAmount”变量?
换句话说,只要有人点击它,就会删除变量“donateAmount”中的内容并替换为新的val()数量。
谢谢
更新
由于修复了变量范围问题,下面的代码现在可以正常工作。
$('label input').click(function () {
if ($('label input').is(':checked')) {
$(this).parent().addClass('checked');
$('.donate-now label').not($(this).parent()).removeClass('checked');
var donateAmount = $(".checked input").val();
}
$('#click').click(function(){
if ($('label #other').is(':checked')) {
donateAmount = $("#otherAmount").val();
}
$('p').html(donateAmount);
});
});
答案 0 :(得分:0)
试试这个
var donateAmount = $(".checked input").val();
$('label input').click(function () {
var $this = $(this);
if ($this.is(':checked')) {
$this.closest('label').addClass('checked');
$('.donate-now label').not($this.closest('label')).removeClass('checked');
donateAmount = $this.val();
if ($('#other').is(':checked')) {
donateAmount = $("#otherAmount").val();
}
}
});
$('#otherAmount').change(function() {
donateAmount = this.value;
});
$('#click').click(function () {
$('p').html('$' + donateAmount);
});
您定义点击事件$('#click').click(function ()
的方式将多次绑定事件,每次点击一次。
因此,请将活动移至点击事件之外。
还尝试使用.on
绑定事件处理程序。
.click(function () {
更改为.on('click', function () {