2014-11-20 81 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