Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

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

icq: 512-765
skype: alexp.frl
По умолчанию

Должен видеть, наверняка дело в коде, а не в LS.
Alex11223 на форуме   Ответить с цитированием
Старый 14.09.2018, 13:26   #3
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 362
Репутация: -23
По умолчанию

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


//Удаляем заказы из таблиц
$(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 в 15:54.
spoon100500 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при сохранении 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


18:13.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru