Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 27.07.2014, 22:53
Аватар для Globus
Аспирант
Отправить личное сообщение для Globus Посмотреть профиль Найти все сообщения от Globus
 
Регистрация: 04.03.2014
Сообщений: 76

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


function savecook(elem) {
	var sele = document.getElementsByTagName('select');
	var i;
	for (i=0; i<sele.length; i++) { 
	setCookie(elem.name, elem.selectedIndex); 
		}
	};
      
        window.onload = function () {
            var elems = document.getElementsByTagName('select');
            for (var i = 0; i < elems.length; i++) {
                var elem = elems[i],
                    c = getCookie(elem.name);

                elem.selectedIndex = c !== undefined ? c : 0;
            }

        }
    </script>
</head>

<body>
    <select name="select">
        <option>0</option>
        <option>1</option>
        <option>2</option>
    </select>
    <select name="select2">
        <option>0</option>
        <option>1</option>
        <option>2</option>
    </select>
  
<input type="button" name="save" onclick="savecook(this)" value="save_all">



Последний раз редактировалось Globus, 27.07.2014 в 23:50.
Ответить с цитированием
  #12 (permalink)  
Старый 27.07.2014, 22:58
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

Globus,
и где цикл который обходит все select ?
Ответить с цитированием
  #13 (permalink)  
Старый 27.07.2014, 23:50
Аватар для Globus
Аспирант
Отправить личное сообщение для Globus Посмотреть профиль Найти все сообщения от Globus
 
Регистрация: 04.03.2014
Сообщений: 76

Пардон, не тот кусок кода скинул, отредактировал сообщение выше... посмотрите, пожалуйста
Ответить с цитированием
  #14 (permalink)  
Старый 28.07.2014, 00:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

Сообщение от Globus
savecook(elem)
Сообщение от Globus
savecook(this)
смотрите на строку 12 и сделайте соотвественно
Ответить с цитированием
  #15 (permalink)  
Старый 28.07.2014, 00:37
Аватар для Globus
Аспирант
Отправить личное сообщение для Globus Посмотреть профиль Найти все сообщения от Globus
 
Регистрация: 04.03.2014
Сообщений: 76

function savecook() {
	var sele = document.getElementsByTagName('select');
	for (var=0; i < sele.length; i++) { 
	        setCookie(elem.name, elem.selectedIndex); 
		}
	};
      
        window.onload = function () {
            var elems = document.getElementsByTagName('select');
            for (var i = 0; i < elems.length; i++) {
                var elem = elems[i],
                    c = getCookie(elem.name);

                elem.selectedIndex = c !== undefined ? c : 0;
            }

        }
    </script>


.........


<input type="button" name="save" onclick="savecook()" value="save_all">


а теперь как?
Ответить с цитированием
  #16 (permalink)  
Старый 28.07.2014, 00:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

Globus,
откуда в строке 4 elem ?
Сообщение от рони
смотрите на строку 12 и сделайте соотвественно
Ответить с цитированием
  #17 (permalink)  
Старый 28.07.2014, 01:09
Аватар для Globus
Аспирант
Отправить личное сообщение для Globus Посмотреть профиль Найти все сообщения от Globus
 
Регистрация: 04.03.2014
Сообщений: 76

В 12-ой строке вижу только var elem = elems[i],


function savecook() {
var sel = document.getElementsByTagName('select');
var i;
            for (var i=0; i < sel.length; i++) {
                var sel = sels[i],
                    b = getCookie(sel.name);
                sel.selectedIndex = b !== undefined ? c : 0;

	};
      
        window.onload = function () {
            var elems = document.getElementsByTagName('select');
            for (var i = 0; i < elems.length; i++) {
                var elem = elems[i],
                    c = getCookie(elem.name);

                elem.selectedIndex = c !== undefined ? c : 0;
            }

        }
    </script>


.........


<input type="button" name="save" onclick="savecook()" value="save_all">
Ответить с цитированием
  #18 (permalink)  
Старый 28.07.2014, 01:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123



function savecook() {
    var elems = document.getElementsByTagName('select');
    for (var i = 0; i < elems.length; i++) {
         var elem = elems[i];
        setCookie(elem.name, elem.selectedIndex);
    }
};
Ответить с цитированием
  #19 (permalink)  
Старый 28.07.2014, 01:42
Аватар для Globus
Аспирант
Отправить личное сообщение для Globus Посмотреть профиль Найти все сообщения от Globus
 
Регистрация: 04.03.2014
Сообщений: 76

+
Ответить с цитированием
  #20 (permalink)  
Старый 31.08.2017, 18:33
Новичок на форуме
Отправить личное сообщение для indeec14 Посмотреть профиль Найти все сообщения от indeec14
 
Регистрация: 31.08.2017
Сообщений: 3

Сообщение от рони Посмотреть сообщение
tart,

<!DOCTYPE HTML>

<html>

<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <script>
        function getCookie(name) {
            var matches = document.cookie.match(new RegExp(
                "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
            ))
            return matches ? decodeURIComponent(matches[1]) : undefined
        }

        function setCookie(name, value, props) {
            props = props || {}
            var exp = props.expires
            if (typeof exp == "number" && exp) {
                var d = new Date()
                d.setTime(d.getTime() + exp * 3153600000)
                exp = props.expires = d
            }
            if (exp && exp.toUTCString) {
                props.expires = exp.toUTCString()
            }

            value = encodeURIComponent(value)
            var updatedCookie = name + "=" + value
            for (var propName in props) {
                updatedCookie += "; " + propName
                var propValue = props[propName]
                if (propValue !== true) {
                    updatedCookie += "=" + propValue
                }
            }
            document.cookie = updatedCookie

        }

        function fn(elem) {
            setCookie(elem.name, elem.selectedIndex);

        }


        window.onload = function () {
            var elems = document.getElementsByTagName('select');
            for (var i = 0; i < elems.length; i++) {
                var elem = elems[i],
                    c = getCookie(elem.name);

                elem.selectedIndex = c !== undefined ? c : 1;
            }

        }
    </script>
</head>

<body>
    <select name="select" onchange="fn(this)">
        <option>1</option>
        <option>2</option>
        <option>3</option>
    </select>
    <select name="select2" onchange="fn(this)">
        <option>1</option>
        <option>2</option>
        <option>3</option>
    </select>

</body>

</html>
Круто! А как можно провернуть такую же фишку, только с input, radio и др.? На приведенном примере

И как можно одной кнопкой сбросить все выбранные пункты в форме? Буду признателен
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Посоветуйте как улучшить код для работы с history api [ jquery + js + history api ] Geo Ваши сайты и скрипты 0 12.01.2014 00:41
Дописать JS и PHP валидатор для телефона 3-3-4 conductor3 Работа 1 11.05.2010 00:01
массив options для select (в IE) Polkan Internet Explorer 8 06.05.2010 17:31
эмуляция события click для элемента select Polo Events/DOM/Window 4 16.12.2009 13:29
Что выбрать XML или JSON для передачи Ajax - ом из PHP в JS Gozar Общие вопросы Javascript 20 16.08.2009 23:36