自定义复选框切换属性值

时间:2014-10-30 12:27:58

标签: javascript attributes selector

我正在尝试构建一个自定义复选框,根据是否选中它来添加或减去值。即:所有复选框都相加。

$("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而不是加/减/加/减....

http://jsfiddle.net/L76xzbLj/

1 个答案:

答案 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");
});

更新了小提琴:http://jsfiddle.net/L76xzbLj/7/