Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Поместить в local.storage выбранный option из select. (https://javascript.ru/forum/events/36780-pomestit-v-local-storage-vybrannyjj-option-iz-select.html)

realstranger 27.03.2013 10:40

Поместить в local.storage выбранный option из select.
 
Добрый день!

Есть селект, нужно выбранный элемент селекта поместить в хранилище, а при перезагрузке страницы из хранилища делать этот option выбранным.

http://jsfiddle.net/DenimTornado/9Haha/ вот всё, что смог сделать, div там для примера. Писать значение не в див надо, а именно делать выбранным элемент селекта.

Заранее, спасибо!

danik.js 27.03.2013 11:04

<select id="count" name="user_type">
    <option value="1">1</option>
    <option value="2">3</option>
    <option value="3">4</option>
    <option value="4">5</option>
    <option value="5">5</option>
</select>
<script>
(function(){
    var select = document.querySelector('#count');
    if (localStorage.selectedIndex !== undefined) {
        select.selectedIndex = localStorage.selectedIndex;
    }
    select.onchange = function() {
        localStorage.selectedIndex = this.selectedIndex;
    }
})()
</script>

realstranger 27.03.2013 11:07

То, что надо! Спасибо огромное!

shellcode 10.12.2013 21:58

... а как например можно сохранить значение нескольких selecto'в с разными id !?

danik.js 10.12.2013 23:40

<select id="abc">
    <option value="1">1</option>
    <option value="2">3</option>
    <option value="3">4</option>
    <option value="4">5</option>
    <option value="5">5</option>
</select>
<select id="cde">
    <option value="1">1</option>
    <option value="2">3</option>
    <option value="3">4</option>
    <option value="4">5</option>
    <option value="5">5</option>
</select>
<script>
(function(){
    var selects = document.querySelectorAll('select');
    for (var i = 0, select; select = selects[i]; i++) {
        if (localStorage[select.id] !== undefined) {
            select.selectedIndex = localStorage[select.id];
        }
        select.onchange = function() {
            localStorage[this.id] = this.selectedIndex;
        }
    }
})()
</script>

trio 25.10.2015 08:54

Здравствуйте.
А как тоже самое проделать с несколькими чекбоксами со своими id которые не объединены общей группой ?

рони 25.10.2015 09:00

Цитата:

Сообщение от trio
А как тоже самое проделать с несколькими чекбоксами со своими id ?

у вас же код 5 поста перед глазами!!! сделайте замену в строках 17,20,23

trio 25.10.2015 11:24

выделяются сразу все, не совсем то

<input type="checkbox" id="check1">
<input type="checkbox" id="check2">
<input type="checkbox" id="check3">

(function(){
    var check = document.querySelectorAll('input');
    for (var z = 0, checkid; checkid = check[z]; z++) {
        if (localStorage[checkid.id] !== undefined) {
            checkid.checked = localStorage[checkid.id];
        }
        checkid.onchange = function() {
            localStorage[this.id] = this.checked;
        }
    }
})()

рони 25.10.2015 11:38

trio,
добавьте + в строки 9 и 12 (тут это 5 и 8)
(function(){
    var check = document.querySelectorAll('[type="checkbox"]');
    for (var z = 0, checkid; checkid = check[z]; z++) {
        if (localStorage[checkid.id] !== undefined) {
            checkid.checked = +localStorage[checkid.id];
        }
        checkid.onchange = function() {
            localStorage[this.id] = +this.checked;
        }
    }
})()

trio 25.10.2015 11:57

О!
Это же совсем другое дело!
Благодарю!


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