我正在尝试构建一个自定义复选框,根据是否选中它来添加或减去值。即:所有复选框都相加。
$("div[active=1]").on("click",function(){
var itemPrice = $(this).attr("itemprice");
sum -= Number(itemPrice);
$("#current_price").html(sum);
$(this).attr("active","0");
});
$("div[active=0]").on("click",function(){
var itemPrice = $(this).attr("itemprice");
sum += Number(itemPrice);
$("#current_price").html(sum);
$(this).attr("active","1");
});
我的问题是将框状态更改为"已选中"或未选中"。我使用$(this).attr(" checked",1);点击后更改状态。
这是我到目前为止所看到的,正如你所看到的,点击100盒子(例如)只是继续ADD 100而不是加/减/加/减....
答案 0 :(得分:1)
您的点击处理程序不适用于动态更改的对象,请尝试此操作:
$("body").on("click", "div[active=1]", function(){
var itemPrice = $(this).attr("itemprice");
sum -= Number(itemPrice);
$("#current_price").html(sum);
$(this).attr("active","0");
});
$("body").on("click", "div[active=0]", function(){
var itemPrice = $(this).attr("itemprice");
sum += Number(itemPrice);
$("#current_price").html(sum);
$(this).attr("active","1");
});