100 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,599
1

Сохранение состояния checkbox в localStorage

27.09.2016, 23:31. Показов 6375. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот у меня есть несколько флажков(ну штук 30 допустим):

HTML5
1
2
3
<input type="checkbox" id="ch1" name="ch1" onclick="save_checkbox(1, "ch1")">
<input type="checkbox" id="ch2" name="ch2" onclick="save_checkbox(2, "ch2")">
<input type="checkbox" id="ch3" name="ch3" onclick="save_checkbox(3, "ch3")">
Хочу сделать одну функцию для сохранения их значения:
Но из - за отсутствия знаний синтаксиса/функций не знаю как это сделать/сделать лучше.

Javascript
1
2
3
4
5
6
function save_checbox(n, name)
{
    var data = window.localStorage.data // Создать массив, получить в него строку
    data[n] = document.getElementById(name).checked // Изменить ячейку с ид флажка на его статус(чекнут/нет)
    window.localStorage.data = data // Записать строку обратно
}
Вот например как оно вообще сможет без размеров работать?:
Javascript
1
var data = window.localStorage.data
Потом, не уверен что так можно передавать аргументы функции:
Javascript
1
onclick="save_checkbox(2, "ch2")
Помогите пожалуйста?
Как его так, чтоб всё заработало?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.09.2016, 23:31
Ответы с готовыми решениями:

LocalStorage. Сохранение данных
Всем привет. Мне нужно в LocalStorage хранить много однотипных данных. По сути нужно сохранять...

Сохранение в LocalStorage состояния тега details
Приветствую! Начал разбираться с локальным хранилищем, изменять цвет получилось. &lt;!DOCTYPE...

Localstorage: сохранение данных
ни как не пойму как сделать(не работает) есть кнопка по ее нажатию открывается новое окно в...

localStorage - сохранение значения
Здравствуйте, есть код: &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset=&quot;UTF-8&quot;&gt; ...

Angular 2 Сохранение данных в localStorage которые приходят с сервера
Добрый день. Прощу заранее прощения за может быть очень глупые вопросы. Как сохранить токен...

6
Эксперт PHP
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
27.09.2016, 23:51 2
эта микробиблиотека https://github.com/Poznakomlus/localstorage
позволяет хранить функции, массивы и объекты в localstorage
по крайней мере гляньте как реализована система хранения массивов
1
100 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,599
28.09.2016, 09:01  [ТС] 3
Там ничего не понял.
На htmlbook нашел, сделал так:

HTML5
1
2
3
4
5
6
7
8
9
10
<table id="resources" style="width:400px; height:380px;" border="1" cellspacing="0" cellpadding="0">
    <tr style="height:24px;" valign="center">
        <td align="center"><input type="checkbox" id="buy_wood" onclick="save_checkbox('buy_wood')"></td>
        <td align="center"><input type="checkbox" id="sale_wood" onclick="save_checkbox('sale_wood')"></td>
    </tr>
    <tr style="height:24px;" valign="center">
        <td align="center"><input type="checkbox" id="buy_ore" onclick="save_checkbox('buy_ore')"></td>
        <td align="center"><input type="checkbox" id="sale_ore" onclick="save_checkbox('sale_ore')"></td>
    </tr>
</table>
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function save_checkbox(name)
{
    localStorage[name] = document.getElementById(name).checked ? 1 : 0
}
function load_checkbox()
{
    var table = document.getElementById('resources')
    var input = table.getElementsByTagName('input')
 
    for(var i = 0; i < input.length; i++)
    {
        var checkbox = input[i]
        checkbox.checked = parseInt(localStorage[checkbox.id], 10)
    }
}
Всё работает ))
0
$ su
1605 / 520 / 97
Регистрация: 18.11.2010
Сообщений: 2,807
Записей в блоге: 2
28.09.2016, 15:21 4
Один совет оставляйте открывающую фигурную скобку на той же строке.
Javascript
1
2
function load_checkbox(){
}
иначе когда нибудь отстрелите себе ноги.
0
j2FunOnly
28.09.2016, 15:51
  #5

Не по теме:

ntlinuxnt, отголоски php - там наоборот открывающую фигурную скобку рекомендуют выносить. И почему вы об имени функции умолчали? ;D

0
ntlinuxnt
28.09.2016, 16:01
  #6

Не по теме:

Цитата Сообщение от j2FunOnly Посмотреть сообщение
ntlinuxnt, отголоски php - там наоборот открывающую фигурную скобку рекомендуют выносить.
в js парсер сам доставляет точки с запятыми, и если выносить скобку на новую строку то можно отстрелить ноги в некоторых случаях.

0
артист
28.09.2016, 19:39  [ТС]     Сохранение состояния checkbox в localStorage
  #7

Не по теме:

Цитата Сообщение от j2FunOnly Посмотреть сообщение
И почему вы об имени функции умолчали?
Да это же я для себя, знания буржуйского у меня такие же как и JS :)

Не знаю, меня в коде раздражают большие буквы, закорючки/приставки из символов, когда скобки совсем не пишут, когда оставляют открывающую в конце условия/объявления функции.
Не люблю for, и точки в конце каждой строки :D

Все эти мелочи мне очень мешают в чтении кода.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.09.2016, 19:39

Сохранение состояния Checkbox в Listview
Возникла проблема с сохранением состояния checkbox'ов в Listview. Listview состоит из текста,...

Сохранение и обновление состояния checkbox в MySQL
Привет всем! Вопрос: Как сохранить чекбокс в БД? Есть скрипт: &lt;?php mysql_query(&quot;SET NAMES...

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

Сохранение и подтягивание данных из localStorage
Выполняю следующее задание: https://github.com/hhru/frontend-test/blob/master/README.md В нём...

Проверка состояния checkbox
&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0 Transitional//EN&quot;&gt; &lt;HTML&gt; &lt;HEAD&gt; &lt;TITLE&gt;Поштова...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru