Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не увеличивается значение массива (https://javascript.ru/forum/misc/68447-ne-uvelichivaetsya-znachenie-massiva.html)

ras2kas 17.04.2017 18:04

Не увеличивается значение массива
 
Добрый вечер. Только начал изучать JS и столкнулся с такой проблемой. Не получается увеличить значение элемента массива в объекте.
Должно работать так: при клике на ссылку происходит проверка наличия объекта. Затем если он уже есть то увеличиваем значение массива. Вот это увеличение и не работает. В консоли пишет Nan. Что не так подскажите пожалуйста.

<script type="text/javascript">
cart = new Object();
$(document).ready(function() {
$('.cart-add').on('click', add);
function add() {
   var id = $(this).attr("data-id");
   var description = $(this).attr("data-description");
   var photo = $(this).attr("data-photo");
   var info = [];
   if (cart[id]!=undefined) {
   info[0]++;
   }
   else {info[0]=1;}
   info[1]=description;
   info[2]=photo;
   cart[id] = info; 
}
  console.log(cart);
}

});
 
</script>

sanmihan 17.04.2017 18:27

cart = new Object();
$(document).ready(function() {
$('.cart-add').on('click', add);
function add() {
   var id = $(this).attr("data-id");
   var description = $(this).attr("data-description");
   var photo = $(this).attr("data-photo");
   var info = [];
   if (cart[id]!=undefined) {
     info = cart[id];//
     info[0]++;
   }
   else {info[0]=1;}
   info[1]=description;
   info[2]=photo;
   cart[id] = info;
}
  console.log(cart);
}
 
});

рони 17.04.2017 18:29

ras2kas,
Цитата:

Сообщение от ras2kas
info[0]++;

cart[id][0]++;

Dilettante_Pro 17.04.2017 18:44

Или так
<input type="text" class="cart-add" data-id = "1" data-description = "description" data-photo = "photo" />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script type="text/javascript">
cart = new Object();
  var info = [];
$(document).ready(function() {
$('.cart-add').on('click', add);
function add() {
   var id = $(this).attr("data-id");
   var description = $(this).attr("data-description");
   var photo = $(this).attr("data-photo");

   if (cart[id]!=undefined) {
   info[0]++;
   }
   else { info[0]=1;}
   info[1] = description;
   info[2]= photo;
   cart[id] = info; 

  console.log(JSON.stringify(cart));
  }
});
 
</script>

ras2kas 17.04.2017 18:49

Спасибо большое за помощь) все работает)


Часовой пояс GMT +3, время: 17:47.