Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Как сохранить значение checkbox при перезагрузки по классу (https://javascript.ru/forum/css-html/78938-kak-sokhranit-znachenie-checkbox-pri-perezagruzki-po-klassu.html)

рони 26.11.2019 07:50

svileff,
b класс input.
Цитата:

Сообщение от svileff
не срабатывает!

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

svileff 26.11.2019 07:53

Структуру я не могу изменить эта проект на Тильде

svileff 26.11.2019 07:58

Я не могу понять как правильно записать это для Тильды. Нашёл пример скрипта. Который тильда принимает. Запись в таком виде.

<script>
$( document ).ready(function() {
var formID = '#rec110219707 .t-form';
$('input[name="controlnum"]').next('.t-calc__wrapper').children('.t-calc').addClass('maintrigger');
$(formID+' .js-successbox').css('opacity' , '0');
$("body").on('DOMSubtreeModified', ".maintrigger", function() {
var total = $('.maintrigger').html();
switch (total) {
case '1':$(formID).attr('data-success-url', 'https://yandex.ru');break;
case '2':$(formID).attr('data-success-url', 'https://google.ru');break;
case '3':$(formID).attr('data-success-url', 'https://mail.ru');break;
};
});
});
</script>

Или надо библиотеки подключать?

рони 26.11.2019 08:00

svileff,
скрипт нужно поставить вниз страницы, никаких дополнительных библиотек не требуется.

svileff 26.11.2019 08:10

Поставил но результата нет!
Вот ссылка на саму страницу, там есть фильтр. Его то я и не могу заставить сохранятся.

https://lowo.store/face

рони 26.11.2019 08:29

svileff,
нет у вас (".t-checkbox .js-store-filter-opt-chb");!!! пропуск уберите
есть (".t-checkbox.js-store-filter-opt-chb");

laimas 26.11.2019 08:32

Нужно запоминать наборы не всех, а состояние у их родителей.

svileff 26.11.2019 08:38

Сделал так. Не сохраняет!!!

<script>
(function(b) {
var e = document.querySelectorAll(b),
a = localStorage.getItem(b),
a = (a = JSON.parse(a)) || (a = {}, localStorage.setItem(b, JSON.stringify(a)));
[].forEach.call(e, function(c, d) {
void 0 !== a[d] && (c.checked = a[d]);
c.addEventListener("change", function() {
a[d] = c.checked;
localStorage.setItem(b, JSON.stringify(a))
})
})
})(".t-checkbox.js-store-filter-opt-chb");
</script>

laimas 26.11.2019 08:40

svileff,
если вы добавите/удалите в любой группе правило, то все развалится, то же самое произойдет если будут добавлены/удалены группы. Сохранять нужно не под индексами, а под именованными свойствами, а свойства, которые на текущий момент не имеют адресата, удалять.

svileff 26.11.2019 08:44

Не совсем понял как это сделать


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