Сообщение от ureech
|
Ни хрена не хочет, по разному пробовал и как Alex_63, написал тоже. Может где запрет на кеширование, в заголовках ответа
Cache-control:no-cache...
Pragma:"no-cache"
Это результат или причина?
|
ureech,
Cache-control:no-cache... Pragma:"no-cache" здесь совершенно ни при чем - ваш кеш - совсем не кеш, а просто переменная типа массив.
Вариант
Alex_63 почти правильный, он устранил все ошибки, за исключением одной:
var data0 = this.name + '=' + this.value;
if(cache[data0]){
Индекс массива - это целое число, начиная с 0.
В качестве индекса вам нужно использовать целые числа, однозначно связанные с парой this.name this.value.
Пример реализации такой индексации пар this.name this.value
<head>
<title>Untitled Page</title>
</head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
window.onload = function () {
$('select').change(function () {
alert($(this).data("ind") + $(this)[0].selectedIndex);
});
}
</script>
<body>
mark
<select data-ind="100" name="mark">
<option >Выберите вариант</option>
<option value="11">первый</option>
<option value="22">второй</option>
<option value="33">третий</option>
<option value="44">четвертый</option>
</select>
<br />
brend
<select data-ind="200" name="brend">
<option >Выберите вариант</option>
<option value="11">первый</option>
<option value="22">второй</option>
<option value="33">третий</option>
<option value="44">четвертый</option>
</select>
</body>
</html>