@Nik_1011

Как сделать форму выбора(марка автомобиля,модель итд) как на сайте drom.ru(описание внутри)?

Здравствуйте!

Хочу сделать форму для выбора (автомобиль,модель,год,ваше сообщение) и последующей отправки этих данных. До этого делал простые формы отправки(ваше имя,ваш телефон), используя selectize.js.

Сайт - drom.ru
Форма - prnt.sc/sk1oh7

Вопросы:

1)Есть ли какие-либо библиотеки или плагины, позволяющие создать подобное, потому что велосипед изобретать считаю нерациональной затеей, но если надо все самому делать, то готов и вручную сделать.Может что-то посмотреть,чтобы подчерпнуть для себя нужные знания.

2)Как лучше заполнять данные select: вписывать каждый option и задавать ему id,value и описание или через конструктор Object?Еще вариант

3)Какие способы имеются,чтобы связать марку автомобиля и модель, то есть чтобы не все подряд высвечивалось(например, марка Toyota - модели Land Cruiser,Camry,Crown; марка Mercedes - модели E-class,C-class,S-class)?
  • Вопрос задан
  • 1074 просмотра
Решения вопроса 2
ArsenyMatytsyn
@ArsenyMatytsyn Куратор тега CSS
Руководитель frontend направления, предприниматель
1. Есть JS-фрейморки, которые упрощают жизни в постройке такого, например Vue (в проекте же может быть использован React или Angular).
2. Форма должна иметь id (value) для БД и значение для пользователя (внутри тега option), для адекватного обмена данными и записи связей в БД. В референсе, кстати, эмуляция динамическая, сам selet со значениями скрыт.
3. На уровне данных для JS → объект, на уровне БД → связи один ко многим.

Кстати, так как марки автомобилей заранее известны, то это можно даже не заносить в базу, а хранить просто в объекте в конфигах, но по правде говоря вариант так себе, в базе проще объявления вязать по ID с марками.
Ответ написан
like-a-boss
@like-a-boss
Признайся,тебяТянетНаКодМужика,ты—программный гей
1. Именно потому что вы используете какие-то библиотеки, считаете написание подобной формы велосипедом и прочие глупые мысли, вы и оказываетесь на данном ресурсе в качестве вопрошающего.
2. Генерировать JavaScript'ом из данных, о которых речь в следующем пункте.
3. JSON. Формируете массив ДжаваСкрипт объектов аля:

[
    {
        "Mercedes": {
            "E-class": {
                "тут уж": "на что фантазии хватит"
            },
            "C-class": {
                "тут уж": "на что фантазии хватит"
            },
            "S-class": {
                "тут уж": "на что фантазии хватит"
            },
        }
    },
    {
        "Porsche": {
            "911": {
                "тут уж": "на что фантазии хватит"
            },
            "928": {
                "тут уж": "на что фантазии хватит"
            },
            "944": {
                "тут уж": "на что фантазии хватит"
            },
        }
    }
]

И генерируете на его основании форму. Над структурой нужно подумать хорошенько, чтобы с годом не было больно потом. Можно как с бекенда получать данные, так и иметь на фронте все данные, решать задачу можно сколь угодно вариативно в зависимости от нюансов. It's up to you.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Kostik_1993
Web Developer
На дроме сделано на ReactJS
Модели авто и бренды хранятся в разных таблицах. Сначала вы получаете с сервера список брендов, затем при выборе определенного бренда получаете нужные данные. Вы зря пришли сюда с этим вопросом, он весьма размыт чтобы на него дать ответы как лучше. Тем более мы не знаем вашей цели
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы