Задать вопрос
@vladvi

Как при клике на кнопку добавить значения атрибута в массив?

Как сделать чтобы при выборе размера и клике на кнопку "добавить в корзину", добавлялось значение атрибута "value" в массив "items", при этом уже существующее значение в массиве повторно не добавлялось ? https://jsfiddle.net/vladvi/r049h9t6/4/
Сейчас при использовании этого кода, массив перезаписывается при нажатии кнопки:
$(".add-cart").on("click",function(e){
	e.preventDefault();
	var th = $(this);
	var id = th.attr("for");
	var IdBtnRadio = '#btn-radio'+id;
	var items = [];

	if ($(IdBtnRadio+' input:checked').length > 0){
		var valSize = $(IdBtnRadio+' input:checked').attr('value');
		items.push(valSize);
		console.log(items);
	}else{
		$(IdBtnRadio+" .tooltip").fadeIn(500);
		$(IdBtnRadio+' label').css('border','1px solid #f72f35');
		setTimeout(function() {
			$(IdBtnRadio+" .tooltip").fadeOut(500); 
			$(IdBtnRadio+' label').css('border','1px solid #bbb'); 
		}, 2000);
		return false;
	}
});
  • Вопрос задан
  • 707 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Конечно перезаписывается, вы же при каждом нажатии делаете заново var items = [];
Достаточно вынести это объявление за пределы обработчика клика.

Немножко переписал, выбросил пару строк, перенес анимацию в CSS: https://jsfiddle.net/pp2w93mw/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы