Использование Javascript в меню Select

Тема в разделе "HTML, CSS, XML, JavaScript", создана пользователем Wylde, 4 июл 2007.

Статус темы:
Закрыта.
  1. Wylde

    Wylde Гость

    Задача сделать 2 меню выбора select. 1-й - независимый (например марки автомобилей), а второй зависимый (модели выбранной марки). Опишите хотя бы механизм как,чего и чем подгружается чтобы при выборе Марки автомобиля во втором select меню генерировался список Моделей данной марки.
     
  2. Emelya

    Emelya Гость

    Прива, я в похожем случае использовал xmlhttprequest. Потом обрабатывал полученный с сервера хмл и генерировал селект. Тока вот я не знаю, вроде если селект яваскриптом генерировать, под ИЕ может не пролезть :( Не помню точно:( Но теоретически , можно сразу сгенерировать на сервере всевозможные селект меню с моделями авто, тока поставить им атрибут style="visibility:hidden", а потом, тот который выберут на document.getElementById(селекткакойнить).style.visibility="visible"; менять. Тока так не красиво:( чёт я расчувствовался, звиняюсь ;)
     
  3. Wylde

    Wylde Гость

    Ну хорошо, допустим. Только httprequest для меня штука незнакомая.
    А возможна ли такая схема:
    Инфа по моделям хранится в базе Mysql(или в тхт файле).
    А при изменении марки подгружается яваскриптом в форму селект.

    З.Ы. ТОКА как генерировать яваскриптом список селект???
     
  4. Emelya

    Emelya Гость

    Повторюсь, не уверен что генерирование будет работать под ИЕ :)
    xmlhttprequest это такой модный нонче AJAX, т.е. XMLHttpRequest или ActiveXObject задать в поисковик и посмотреть как работает, есть даже в Википедии ;)
    Кстати, с этой штукой и получится желаемая схема.
    Генерирование селекта:
    Код (Text):
     

    while (массив елементов для селекта не пуст){
    строка= newOption(текст,ID);//создание новой марки
    i++;
    document.getElementById("ID заполняемого селекта").options[i++]=строка;//добавление в селект
    }
    Така я соврал, это не генерирование селекта, это заполнение пустого селекта. А вот можно ли его с нуля создать, это вопрос. :) Но ведь вроде в схеме он может быть и пустой сначала ;)
    Ну и чтоб стереть все марки(обнулить селект), каждую строку к нулю надо приравнять
     
  5. Wylde

    Wylde Гость

    Я так понимаю это явавский код... Спасибо! А как подгружать из тхт файла марки (на каждую модель будет свой тхт с марками)? Большая ли разница в коде если сделать не через тхт а через базу MySql
     
  6. Wylde

    Wylde Гость

    А! И ещё последнее! Как чтобы при открытии формы селект "Марки" был недоступен для выбора, и становился доступным только после выбора "Модели"
     
  7. Wylde

    Wylde Гость

    Кароче ВСЁ!!! Сделал работает. Спасибо дружище, но к сожалению твой код почему-то не пашет, ЗАТО! Начал разбираться почему не работает и разобрался... вобщем вот то что мне нужно было:

    <script LANGUAGE="JavaScript">

    function markamodel() {

    z=0 // сначала очищаем вначале все опции нах, если не выбрана модель
    for (z = 0; z < 9; z++) {
    form.model.options[z]=null;}

    form.model.options[0] = new Option("-//-", 1); // это пункт означающий ВСЕ марки выбранной модели, присутствует по любому даже если модель и не выбрана
    form.model.options[1]=null;

    if (form.marka.value == "Bmw") { //если модель БМВ то заполняем в соответствии марки
    form.model.options[1] = new Option("316", 316);
    form.model.options[2] = new Option("325", 325);}

    if (form.marka.value == "Ваз") { //аналогично
    form.model.options[1] = new Option("2101", 2101);
    form.model.options[2] = new Option("2108", 2108);
    form.model.options[3] = new Option("2109", 2109);}

    if (form.marka.value == "Opel") {//аналогично
    form.model.options[1] = new Option("Ascona", 'Ascona');
    form.model.options[2] = new Option("Vectra", 'Vectra');
    form.model.options[3] = new Option("Kadett", 'Kadett');}

    }

    </SCRIPT>



    СПАСИБА!!! :D
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей