簡體   English   中英

如何使用 jquery $this 從列表中刪除特定的 object?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM