Занесение в select данных, которые вернул ajax запрос

Рейтинг: 0Ответов: 1Опубликовано: 03.04.2011

Ajax запрос возвращает данные - просто слова, разделенные пробелами или каким-либо другим знаком (это не важно). Мне необходимо занести эти данные в уже существующий select. Нашел только одно решение данного вопроса: сделать так, чтобы ajax запрос возвращал уже сформированный select и я просто заменял им старый, но, как мне кажется, это решение не очень красиво. Вопрос: существует ли другое решение данной проблемы?

Ответы

▲ 6Принят

Да тут несколько разных вариантов=)

  • Вариант 1. Вспомнить про DOM и создать тегу select дополнительные дочерние теги option с нужными параметрами. Но это несколько неудобно =)

  • Вариант 2. Сформировать элементы списка с помощью соответствующих специальных команд javascript.

Примерно так выглядит полное создание списка:

with (myselect) // select выбранный тут уже
{
   options.length = 0; // Очистить список
   options[0]= new Option('Вариант 1','1');
   options[1]= new Option('Вариант 2','2');
   options[2]= new Option('Вариант 3','3');
   selectedIndex = 0; // Выбрать активный элемент
}

Добавлять элемент в конец имеющегося уже списка можно так:

options[options.length] = new Option(...); // select выбран с помощью with тут тоже

Кстати, откройте для себя json и возвращайте сразу массив, чтоб не надо было его разбирать в браузере. =)