2013-07-26 34 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 
     } 
    }); 
相关问题