Показать сообщение отдельно
  #17 (permalink)  
Старый 30.03.2016, 10:13
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Сообщение от 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>

Последний раз редактировалось Dilettante_Pro, 30.03.2016 в 11:39.
Ответить с цитированием