|
27.07.2014, 22:53
|
|
Аспирант
|
|
Регистрация: 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.
|
|
27.07.2014, 22:58
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,123
|
|
Globus,
и где цикл который обходит все select ?
|
|
27.07.2014, 23:50
|
|
Аспирант
|
|
Регистрация: 04.03.2014
Сообщений: 76
|
|
Пардон, не тот кусок кода скинул, отредактировал сообщение выше... посмотрите, пожалуйста
|
|
28.07.2014, 00:26
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,123
|
|
Сообщение от Globus
|
savecook(elem)
|
Сообщение от Globus
|
savecook(this)
|
смотрите на строку 12 и сделайте соотвественно
|
|
28.07.2014, 00:37
|
|
Аспирант
|
|
Регистрация: 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">
а теперь как?
|
|
28.07.2014, 00:40
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,123
|
|
Globus,
откуда в строке 4 elem ?
Сообщение от рони
|
смотрите на строку 12 и сделайте соотвественно
|
|
|
28.07.2014, 01:09
|
|
Аспирант
|
|
Регистрация: 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">
|
|
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);
}
};
|
|
28.07.2014, 01:42
|
|
Аспирант
|
|
Регистрация: 04.03.2014
Сообщений: 76
|
|
+
|
|
31.08.2017, 18:33
|
Новичок на форуме
|
|
Регистрация: 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 и др.? На приведенном примере
И как можно одной кнопкой сбросить все выбранные пункты в форме? Буду признателен
|
|
|
|