2014-10-30 19 views
0

我想構建一個自定義複選框,根據是否選中它來增加或減少一個值。即:所有選中的框被加和。自定義複選框切換屬性值

$("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"); 
}); 

我的問題是改變盒子的地位,「檢查」或取消選中」我使用$(本).attr(‘選中’,1);在點擊後更改狀態

這裏是我到目前爲止,你可以看到,在100框中點擊(例如)只是繼續增加100,而不是加/減/加/減....

http://jsfiddle.net/L76xzbLj/

回答

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/

+0

計算過,它是動態屬性的問題。謝謝! – dsol828 2014-10-30 12:35:32