1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программирован. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление
  2. Чат codeby в telegram перезагрузка. Обсуждаем вопросы информационной безопасности и методы защиты информации, программирование. Задавайте свои вопросы и комментируйте чужие. Подробнее ...

    Скрыть объявление

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

Тема в разделе "Web - программирование", создана пользователем Wylde, 4 июл 2007.

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

    Wylde Гость

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

    Emelya Гость

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

    Wylde Гость

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

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

    Emelya Гость

    Репутация:
    0
    Повторюсь, не уверен что генерирование будет работать под ИЕ :)
    xmlhttprequest это такой модный нонче AJAX, т.е. XMLHttpRequest или ActiveXObject задать в поисковик и посмотреть как работает, есть даже в Википедии ;)
    Кстати, с этой штукой и получится желаемая схема.
    Генерирование селекта:
    Код:
     
    
    while (массив елементов для селекта не пуст){
    строка= newOption(текст,ID);//создание новой марки
    i++;
    document.getElementById("ID заполняемого селекта").options[i++]=строка;//добавление в селект
    }
    Така я соврал, это не генерирование селекта, это заполнение пустого селекта. А вот можно ли его с нуля создать, это вопрос. :) Но ведь вроде в схеме он может быть и пустой сначала ;)
    Ну и чтоб стереть все марки(обнулить селект), каждую строку к нулю надо приравнять
     
  5. Wylde

    Wylde Гость

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

    Wylde Гость

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

    Wylde Гость

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

    <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
     
Загрузка...
Статус темы:
Закрыта.

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