2014-11-20 48 views
0

你好我无法找到如何从字符串中删除一个特定的值,当点击一个字符串值的元素。它为我的待办事项列表。如何从数组中删除特定值jquery

if (window.localStorage.fullName !== undefined) { 
alert('Your browser does not support localStorage'); 
} else { 
$(function() { 
    console.log('localSorage compitability detected. proceeding...'); 

全局变量&功能

var tdli = []; 

中添加列表项

$('#tdladd').click(function() { 
     $('.todolist ul ul').append("<li class='tdli'>" + $('#tdlinput').val() + "</li>"); 
     tdli.push($('#tdlinput').val()); 
     $('#tdlinput').val(''); 
     var array = tdli + ""; 
     localStorage.setItem('tdlis', array); 
     console.log(array); 
     $('#todolist').hide().fadeIn('fast'); 
    }); 

删除列表中的项目

$('li').click(function() { 
     var itemtoRemove = $(this); 
     tdli.splice($.inArray(itemtoRemove, tdli), 1); 
     console.log(tdli); 
    }); 

    $('#clearall').click(function() { 
     localStorage.clear(); 
     location.reload(); 
    }); 

负荷列表项

var tdlitems = localStorage.getItem('tdlis'); 

    var array = tdlitems.split(','); 

    tdli.push(array); 

    for (var i = 0; i < array.length; i++) { 
     array[i] + "<br>"; 
     $('.todolist ul ul').append("<li>" + array[i] + "</li>"); 
    }; 

    console.log(array); 


}); 

} 
+1

你能发表所有的相关代码吗?这是可能的,但我想写一个适合你的代码的答案。 – 2014-11-20 17:59:05

回答

2

假设tdli是一个jQuery包裹设置(它本身是一个数组状物体)时,将具有存储在代替另一个jQuery的对象DOM节点。这意味着,就像

var itemtoRemove = this; 

你应该没问题。


后您发布的完整代码,我们可以看到你实际上是推string values到您的tdli阵列,但你尝试.splice()对象分别DOM nodes,这当然不会使所有任何意义(比较苹果橙子)。

+1

是啊,我刚刚开始编码2个星期的js。所以我真的不知道这件事。 – 2014-11-20 18:07:35