Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.06.2009, 08:53
Интересующийся
Отправить личное сообщение для AlexJ Посмотреть профиль Найти все сообщения от AlexJ
 
Регистрация: 02.06.2009
Сообщений: 20

связанные селекты
Делаю выбор пользователем раздела сайта. Сначала выбирает основной раздел, на основе выбранного раздела во втором селекте аяксом подгружаются подразделы, в третьем на основе выбора подраздела подгружаются разделы третьего уровня и так далее. В идеале для n-селектов.
Подсмотрел хорошую стать для случаю с двумя связанными селектами и на ее основе делаю свое. Если тупо для каждого селекта написать свои функции, то все нормально, но хочется не тупо, а с передачей параметров, а именно id изменяемого select.
Вот в этой функции у меня не получается далее передать переменную selectname
function loadXMLDoc(method,url,selectname){
if(window.XMLHttpRequest){

req = new XMLHttpRequest();
req.selectname=selectname;
req.onreadystatechange = processReqChange;
req.open(method, url, true);
req.send(null);
}else if(window.ActiveXObject){
//alert('2');
req = new ActiveXObject("Microsoft.XMLHTTP");

if(req){

req.onreadystatechange = processReqChange; вот здесь затуп

req.open(method, url, true);
req.send(null);

}

}
}
Там где req.onreadystatechange = processReqChange; вызывается функция processReqChange, а как ей передать selectname, пробовал req.onreadystatechange = processReqChange(selectname) не работает. Я не очень понимаю почему, слаб в js. Это я так понял стандартная конструкция. Кто может, помогите.
Ответить с цитированием
  #2 (permalink)  
Старый 02.06.2009, 08:55
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

req.onreadystatechange = function() { processReqChange(selectname); };
Ответить с цитированием
  #3 (permalink)  
Старый 02.06.2009, 09:05
Интересующийся
Отправить личное сообщение для AlexJ Посмотреть профиль Найти все сообщения от AlexJ
 
Регистрация: 02.06.2009
Сообщений: 20

Огромное спасибо. Работает. А еще вопрос какой раздел документаци к js почитать, чтоб врубиться почему так работает, а вот так нет?
Ответить с цитированием
  #4 (permalink)  
Старый 02.06.2009, 09:58
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

http://javascript.ru/doctree
Ответить с цитированием
  #5 (permalink)  
Старый 02.06.2009, 10:28
Интересующийся
Отправить личное сообщение для Леонид Евстигнеев Посмотреть профиль Найти все сообщения от Леонид Евстигнеев
 
Регистрация: 27.05.2009
Сообщений: 14

Конкретно, эта проблема описана в http://javascript.ru/tutorial/basic/closure
Ответить с цитированием
Ответ



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

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