2017-05-31 77 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')); 
});