Javascript / AJAX марка автомобиля / модель - PullRequest
1 голос
/ 20 июля 2010

Я пытаюсь создать форму автомобиля / модели с использованием Javascript или AJAX, проблема в том, что у меня нет большого опыта работы с ними, но здесь все кончено. , .

Мне нужно создать форму, в которой есть выпадающий список марки и модели автомобиля, и когда пользователь выбирает конкретную марку, в раскрывающемся списке моделей будут указаны все модели этой марки. Теперь у меня есть Несколько идей о том, как этого добиться, но я хотел бы получить некоторые сведения о том, как лучше всего подойти к этому, чтобы сократить время разработки.

Я думал о создании массива внутри массива, один с марками, и внутри каждого массива "make" есть массив моделей, поэтому, когда пользователь нажимает на make, запускается функция AJAX / Javascript, которая примет значение текущего поля и использует его для получения местоположения модели в массиве, которая затем будет проходить через массив внутренних моделей и сгенерирует выпадающее меню для этой конкретной марки.

Теперь я не уверен, является ли это разумной идеей, или есть ли лучший способ сделать это, но у меня очень мало времени для тестирования, так что процесс исключения исключен, поэтому кто-то может указать мне в общем направлении мне нужно идти, или, может быть, указать мне на готовый сценарий? так как мое понимание синтаксиса Javascript на данный момент мало или вообще невозможно!

Спасибо заранее!

1 Ответ

1 голос
/ 20 июля 2010

Ключевое решение заключается в том, хотите ли вы загрузить всю информацию в начале (в этом случае у пользователя может возникнуть задержка, пока вы загружаете все модели для марок, которые им не нужны) или вы хочу получить модели, как они выбирают марку. Ответ будет зависеть от

  1. сколько данных может быть
  2. как быстро вам нужно, чтобы страница была
  3. сколько нагрузки будет на сервере и т. д.

В принципе, можете ли вы позволить себе повлиять на производительность при загрузке всех моделей в начале?

Если вы решите, что можете позволить себе загружать все в начале, я думаю, что описанный вами подход разумен, хотя я бы не стал использовать массив для внешнего контейнера. Я бы сделал это:

var models = {
    Audi: ["Quattro","A4", ...],
    BMW: ["M3", "M6", ...],
    ...
};

То, что хранится в переменной «models», на самом деле является объектом javascript, хотя люди иногда называют его «ассоциативным массивом».

Обратите внимание, что в этом сценарии вы на самом деле не выполняете «AJAX», поскольку вы не получаете данные с сервера на лету.

Альтернативный сценарий заключается в том, что вы задаете URL-адрес, по которому вы можете запросить его с помощью модели, и он ответит списком производителей. Затем вы запускаете запрос, когда пользователь выбирает модель. Это AJAX.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...