2017-05-31 107 views
1

我正在嘗試將元素動態地推送到數組。但我的代碼不起作用。我想在jQuery中添加數組元素onclick。當我推入一個元素它的增加,但是當我想添加第二個元素時,第一個元素被刪除,只有第二個元素被添加。無法動態添加元素。動態推送元素到數組jquery

這是我的代碼,以動態的滑動元件:

$('#addItemFromAjax').click(function(){ 
var storage = '{"items":[]}'; 
var itemObject = JSON.parse(storage); 
itemObject["items"].push({"name":data[0].name,"id":data[0].id}); 
localStorage.setItem('itemList', JSON.stringify(itemObject)); 
alert(localStorage.getItem('itemList')); 
}); 
+0

申報陣列之外點擊功能,並嘗試它。我猜你單擊每一次,數組初始化 –

+0

@Balu難道不是這樣的,我 –

+0

我的意思是聲明在JS全球一級數組文件處理點擊功能的地方。 –

回答

3

試試下面的代碼。它將首先使用localStorage列表,如果可用,否則將初始化它。

另外,您總是從data推第一個元素,因此可能需要根據您的要求更改!

$('#addItemFromAjax').click(function(){ 
var storage = localStorage.getItem('itemList') || '{"items":[]}'; 
var itemObject = JSON.parse(storage); 
itemObject["items"].push({"name":data[0].name,"id":data[0].id}); 
localStorage.setItem('itemList', JSON.stringify(itemObject)); 
alert(localStorage.getItem('itemList')); 
});