[英]How to remove specific object from list using jquery $this?
我有一些帶有復選框的表格,單擊它們后,我想添加/刪除它們的數據以列為 object。 我確實已經將 object 添加到列表中,但我正在努力刪除我點擊的 object。
var myList = [];
$('.addMe').click(function() {
var tr = $(this).parent('td').parent('tr');
var id = $(tr).children('.col-id').text();
var zxc = $(tr).children('.col-zxc').text();
if ($(this).hasClass('added')){
**myList.filter(function(value){
return value.id !== id;
});**
console.log('removing: '+id);
}
else{
myList.push({id,zxc});
console.log('adding: '+id);
}
console.log(myList);
});
這部分不起作用:
myList.filter(function(value){
return value.id !== id;
});
因此,當我添加 4 個元素時:
myList = [ {id:'1', zxc:'test'}, {id:'2', zxc:'test1'}, {id:'3', zxc:'test2'}, {id:'4', zxc:'test3'}]
我想刪除例如點擊第三個復選框的第三個元素,結果將是:
myList = [ {id:'1', zxc:'test'}, {id:'2', zxc:'test1'}, {id:'4', zxc:'test3'}]
我嘗試使用 filter()、grep() 但我無法使其工作。
這是帶有完整代碼的 jsfiddle 及其工作原理:https://jsfiddle.net/1rm6pwqk/
filter 方法不會改變調用它的數組。 相反,它返回一個新數組,其中包含滿足謂詞的元素。 將返回值分配給您的 myList 變量以更新它:
myList = myList.filter(function(value){
return value.id !== id;
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.