Показать сообщение отдельно
  #1 (permalink)  
Старый 30.03.2016, 22:28
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 789

Синхронизция двух запросов.
Здравствуйте.Есть форма с несколькими селектами.Для краткости пример на двух. В которые аяксом подгружается список в опшен.Список второго зависит от первого.Те. выбираю в первом ауди, отправляю на сервер,там обрабатывается и возвращает список моделей. Для уменьшения кол-ва запросов назначены переменные которые запоминают выбор.
Вот код
$(function() {

var url = "/modules/mod_search_auto/ajax.php";
var cache ={};
var cache1 ={};

$('select[name="mark"]').change(function() {

    var index = $(this)[0].selectedIndex;
    var mark = this.options[index].text;
    var data = 'marka_id=' + this.value+'&mark='+mark; 
	alert(data) // marka_id=1002&mark=Aston Martin
	if(cache[index]){
	$('#bod').html(cache[index]);
	}else{
         $.ajax({
              type:"POST",
              url:url,
              data: data,
              success:function(response){         
              $('#brn').html(response);
			  cache[index] = response;	
alert(response)// <option id='Vulcan' value='1002' >Vulcan</option><option id='Rapide S' value='1002' >Rapide S</option>
    }
    })
    }		 
    })
	

	$('select[name="brend"]').change(function() {
	
    var index = $(this)[0].options.selectedIndex;
    var brend = this.options[index].text;
    var data = 'brend_id=' + this.value+'&brend='+brend;
	alert(data) // brend_id=1002&brend=Rapide S
	if(cache1[index]){
	$('#bod').html(cache1[index]);
	}else{		
         $.ajax({
              type:"POST",
              url:url,
              data: data,
              success:function(response){                            
              $('#bod').html(response);
			  cache1[index] = response;
alert(response) // <option id='Седан'  value='1002' >Седан</option><option id='купе'  value='1002' >купе</option>
    }
    })
	}
    })
	
});


Теперь получается, что если я выбрал Ауди модель А5, а потом передумал и выбрал Опель,то модели так и остались от Ауди, потому как запрос не ушёл.
Можно ли запоминать как то в связке, что ли.Марка-модели.
Ответить с цитированием