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)

svileff 25.11.2019 02:44

Как сохранить значение checkbox при перезагрузки по классу
 
Есть формы
<input class="t-checkbox js-store-filter-opt-chb" type="checkbox" name="3W Clinic">

<input class="t-checkbox js-store-filter-opt-chb" type="checkbox" name="Esthetic House">

<input class="t-checkbox js-store-filter-opt-chb" type="checkbox" name="Koelf">

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

побывал и так
<script>
$(document).ready(function() {

$.cookie('pname', $('input[name=3W Clinic]:checked').val() , {
expires: 1
});
$("input[name=3W Clinic]:checked").val($.cookie('pname'));
});
</script>

и так

<script>
$(document).ready(function() {
var vibor = (".js-store-filter-opt").val();
$.cookie('pname', vibor).val() , {
expires: 1
});
$("input[name=3W Clinic]:checked").val($.cookie('pname'));
});
</script>

Vlasenko Fedor 25.11.2019 02:51

Используйте LocalStorage не зачем cookie там

svileff 25.11.2019 23:19

Попробовал так не работает

<script type="text/javascript">
var vibor = $('input[name=brand]:hidden').val();
$.localStorage.setItem('pname', vibor);
$("input[name=brand]:hidden").val($.localStorage.getItem('pname'));
</script>

может ошибка где?

рони 26.11.2019 00:14

Цитата:

Сообщение от svileff
может ошибка где?

а где change?

рони 26.11.2019 00:17

svileff,
https://javascript.ru/forum/jquery/5...tml#post394089

svileff 26.11.2019 00:30

У меня структура странная поэтому всяка пытаюсь. Сама структура:

<div class="t-store__filter__item-controls-container">
<input type="hidden" class="js-store-filter-opt" name="brand" data-info-type="array">

<label class="t-checkbox__control t-descr t-descr_xxs">
<input class="t-checkbox js-store-filter-opt-chb" type="checkbox" name="3W Clinic">
<div class="t-checkbox__indicator"></div>3W Clinic
</label>

<label class="t-checkbox__control t-descr t-descr_xxs">
<input class="t-checkbox js-store-filter-opt-chb" type="checkbox" name="Elizavecca">
<div class="t-checkbox__indicator"></div>Elizavecca
</label>

<label class="t-checkbox__control t-descr t-descr_xxs">
<input class="t-checkbox js-store-filter-opt-chb" type="checkbox" name="Esthetic House">
<div class="t-checkbox__indicator"></div>Esthetic House
</label>

<label class="t-checkbox__control t-descr t-descr_xxs">
<input class="t-checkbox js-store-filter-opt-chb" type="checkbox" name="Koelf">
<div class="t-checkbox__indicator"></div>Koelf
</label>

</div>

есть input который сохраняет результат нажатие name="brand" побывал его сохранять. Если галочки нажаты то выдает:

value="3W Clinic&&Elizavecca&&Esthetic House&&Koelf"

как грамотно сохранить результат нажатие.

рони 26.11.2019 00:54

svileff,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

рони 26.11.2019 00:55

Цитата:

Сообщение от svileff
как грамотно сохранить результат нажатие.

ссылка на код пост#5

рони 26.11.2019 01:03

svileff,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
 </head>

<body>
<div class="t-store__filter__item-controls-container">
<input type="hidden" class="js-store-filter-opt" name="brand" data-info-type="array">

<label class="t-checkbox__control t-descr t-descr_xxs">
<input class="t-checkbox js-store-filter-opt-chb" type="checkbox" name="3W Clinic">
<div class="t-checkbox__indicator"></div>3W Clinic
</label>

<label class="t-checkbox__control t-descr t-descr_xxs">
<input class="t-checkbox js-store-filter-opt-chb" type="checkbox" name="Elizavecca">
<div class="t-checkbox__indicator"></div>Elizavecca
</label>

<label class="t-checkbox__control t-descr t-descr_xxs">
<input class="t-checkbox js-store-filter-opt-chb" type="checkbox" name="Esthetic House">
<div class="t-checkbox__indicator"></div>Esthetic House
</label>

<label class="t-checkbox__control t-descr t-descr_xxs">
<input class="t-checkbox js-store-filter-opt-chb" type="checkbox" name="Koelf">
<div class="t-checkbox__indicator"></div>Koelf
</label>

</div>
<script>
(function(b) {
    var e = document.querySelectorAll(b),
        a = localStorage.getItem(b),
        a = (a = JSON.parse(a)) || (a = {}, localStorage.setItem(b, JSON.stringify(a)));
    e.forEach(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");
</script>
</body>
</html>

svileff 26.11.2019 07:48

не срабатывает! И что за b значение передается?


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