在array + splice中保存类删除错误的对象

时间:2017-04-11 17:48:22

标签: javascript android jquery ios arrays

使用html和javascript:https://jsfiddle.net/4a4u1jg1/

  1. 我希望将带有“.finished”类的数组中保存的元素与数组中的类一起保存,如果我再次点击该元素并删除该类,则应该保存它们而不需要在数组,我该如何做到这一点?
  2. 2a上。当我双击一个项目时,它会删除屏幕上的正确项目,但在我重新加载应用程序后,它已删除了列表中的最后一项,换句话说,它从html中删除了正确但是数组中的最后一项。的解决!

    2B。此外,我无法删除新添加的项目(或标记为已完成)我必须重新打开/更新应用程序/浏览器。

    $("li").dblclick(function()
            {
                //Removes last task instead of the task I double tapped on
                //and I can't remove newly added tasks
                taskListArray.splice($.inArray($(this), taskListArray, 1));
    
                $(this).remove();
    
                if(window.localStorage)
                {
                    window.localStorage.setItem("taskList", JSON.stringify(taskListArray));
                }
            });
    

    如果有人可以帮我解决问题#1和#2b,那就太棒了!谢谢!

1 个答案:

答案 0 :(得分:1)

尝试使用<li>索引进行拼接,因为实际元素不是数组中的内容:

变化:

taskListArray.splice($.inArray($(this), taskListArray, 1));

taskListArray.splice($(this).index(),1);

另请注意,splice()的第三个参数是用于添加到数组