Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.09.2018, 12:23   #1
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию Изменение значений при сохранении в LocalStorege

Возник такой вопрос, данные заказа выстраиваются в виде таблицы, при удалении срабатывает функция сохранения данных в LocalStorege, вроде все хорошо, но если удалить один заказ, например один из трех то последний(нижний) не возможно редактировать, например количество +/- так как данные не обновились, а если перезагрузить то всё работает, получается, что данные сохранены но браузер их не видит пока не обновится страница браузера.
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 14.09.2018, 12:25   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Должен видеть, наверняка дело в коде, а не в LS.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.09.2018, 12:26   #3
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Смотрю весь процесс в консоле, так и есть, при удалении данные не обнавляются только после перезагрузки.
Вот функция удаления
Код:

//Удаляем заказы из таблиц
$(document).on('click', '.deleteBusOut', function (){
	   var cartData = getCartData();
	   var dataId =$(this).closest('.jqcart-tr').data('id');//получаем data-id удаляемого изделия
	   $(this).closest('.jqcart-tr').remove();//удаляем
	   $.each(cartData,function(key,data){dataId=key;});//перезаписываем кол-во заказов
	   delete cartData[dataId];//удаляем этот заказ из хранилища 
	   subTotal();//пересчитываем Итоговую стоимость
	   setCartData(cartData);//перезаписываем итог
	   //Если в таблице больше нет заказов очищаем хранилище и перезагружаем его
	   if( $('tbody').children('tr').length<=2){localStorage.clear(); location.reload();}
    });
Такое чувство, что проблема может в этой строке delete cartData[dataId];//удаляем этот заказ из хранилища

Разобрался, надо было поднять delete cartData[dataId]; выше $.each(cartData,function(key,data){ dataId=key;}); видимо не успевал перезаписывать.
Блин, тогда перестает работать эта часть $.each(cartData,function(key,data){ dataId=key;}); которая вроде как считает кол-во объектов в массиве для определения кол-ва заказов в корзине.
Еду медленно, но верно!

Последний раз редактировалось spoon100500; 14.09.2018 в 14:54.
spoon100500 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при сохранении felicita_091 C++ Builder 8 25.02.2013 18:44
Восстановить правильные значения CMYK при изменение одного из значений hon Мультимедиа в Delphi 14 19.08.2012 13:43
пауза при сохранении chudik_off Microsoft Office Excel 0 31.10.2011 14:48
Изменение значений одного выпадающего списка, при измнении значения другого Ground Microsoft Office Access 5 07.09.2010 22:00
Ошибки при сохранении Alex19789 Microsoft Office Excel 6 16.10.2009 12:39