Доброго времени суток!
Помогите решить задачу... Столкнулся с проблемой, у меня есть цикл который выводит данные из localstorage все хорошо работает, но решил я добавить кнопку добавления/вычитания количества товара в корзине.
Количество из формы передается нормально.
А id из кнопки в функцию постоянно передается один и тот же.
И тут я не пойму в чем проблема...
Вот мой костыльный код :
function showcart() {
var sum2 = 0;
var sum3 = 0;
var foo = localStorage.getItem("foo");
foo = foo ? JSON.parse(foo): {};
for (id in foo) {
idprice = foo[id][2];
idfoo = foo[id][3];
idd = foo[id][0];
sum = 0;
for (i = 0; i < idfoo; i++) {
sum += 1;
}
document.write ("<div id='" + idd + "'>" + foo[id][1] + " в количестве : " + sum + " </div> " );
document.write ('<form action="" method="get" name="myform"> <input id="kol" name="kol" type="number" > <input type="hidden" id="idd2" value="' + idd + '"> <input type="button" value="Отправить" onclick="minus(idd)"> </form>')
sum2 += idfoo;
sum3 += idprice;
document.write (idd);
}
document.write (" <div id='coun'> Всего товаров в корзине : " + sum2 + " шт. На сумму: " + sum3 + " руб. </div>");
}
function minus(idd) {
var foo = localStorage.getItem("foo");
foo = foo ? JSON.parse(foo): {};
var kol_1 = document.getElementById('kol').value;
var idd1 = document.getElementById('idd2').value;
koll = Number(kol_1);
foo[idd][3] = (foo[idd][3] + koll);
localStorage.setItem('foo', JSON.stringify(foo));
alert (idd1);
}