2013-07-26 3 views
0

Привет, У меня есть флажок, чтобы добавить значение при щелчке. Тем не менее, он также добавляет, даже если я снял флажок. Как удалить добавленное значение, когда снимите флажок? Спасибо!Как удалить добавленную стоимость снимите флажок?

$('.addCheckBox').click(function(event){ 
       var btn = $(event.currentTarget); 
       var Data = btn.data(); 
       var addList = $('#ListBtn'); 

       var Obj = { 
        aID: Data.id, 
        aName: Data.name 
       }; 
       addList.push(Obj); 
       addListBtn[0].innerHTML = "(" + addList.length + ") in List"; 
      }); 

ответ

2
$('.addCheckBox').click(function (event) { 
    if ($('.addCheckBox').is(':checked')) { 
     var btn = $(event.currentTarget); 
     var Data = btn.data(); 
     var addList = $('#ListBtn'); 

     var Obj = { 
      aID: Data.id, 
      aName: Data.name 
     }; 

     addList.push({"myData":Obj}); 
     console.log(addList); 
    }else{ 
     var addList = $('#ListBtn'); 
     addList.remove("myData"); 
     console.log(addList); 
    } 
}); 
+0

Осторожно! 'Array.pop()' не всегда будет делать то, что ищет OP. Представьте, что у вас много флажков: вам нужно удалить именно этот объект из массива. – Sunyatasattva

+0

Спасибо! он не добавляет больше значения для снятия отметки. Однако он не удалит добавленную стоимость. – user1781367

+0

@ user1781367 Что такое cahObj и addListBtn? из какого списка вы хотите удалить элемент? – zsong

0

Вы можете попробовать это:

$("#checkBox").change(function(){ 
     if($(this).is(":checked")){ 
      // if checked add value 
     }else{ 
      // if unchecked remove value 
     } 
    }); 
Смежные вопросы