Jump to content
  • 0

один селект к многим


stars
 Share

Question

Есть страница с кучей одинаковых слектов, для наглядности скажем есть таблица с именами и напротив каждого выпадающий селект с выбором профессии, проблема в том что в селекте могут быть тысячи option и если на странице допустим 30 имен это 30*(1000*N) вопервых страница сама по себе становится весить десятки мегобайт вовторых браузер тупит.

Отсуда и появился вопрос видел ли кто-то готовые решения где один селект по средствам JS подставлялся к разным полям?

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

А какой смысол гонять один и тот же трафик?(я молчу про то что данные для селекта выбираются из довольно большой базы, результаты конечно кешируются но не на долго ибо она может претерпеть изменения в любую минуту)

Мне проще передать данные в JSON и написать автокоплит. Да я и селектор написать могу просто что-то лень меня пробрала, думал не писать велосипеды.

Link to comment
Share on other sites

  • 0

видимо имелось ввиду связанные списки? т.е. разбить селекты на группы и подгруппы (тем самым избавимся от длиннющей портянки option) и делаем зависимость от выбранного опшина.

  • Like 1
Link to comment
Share on other sites

  • 0

Делается "тупо" до безобразия

Сначала создаем один селект где-то в скрытой области кода (display:none). Пусть это у нас будет #parking

Потом делаем на месте каждого селекта выбора профессии пустой селект-затравку, у которого нет ни одного <option>

Навешиваем на select'ы hover, по которому селект-затравку прячем, а перед ним вставляем запаркованый селект (insertBefore)

Кликать человек будет по наполненному опциями селекту.

По blur'у чистим селект-затравку, удаляя все option внутри, и добавляем тот option, который только что выбрал пользователь, паркуем полный селект снова в #parking (appendChild), показываем селект-затравку (он будет содержать как раз выбранный опшин)

Вуаля!

  • Like 2
Link to comment
Share on other sites

  • 0

s0rr0w, этот текст, что ты сейчас выдал, очень хорошо воспринимается если перед этим хорошенько "дунуть" :P

сдается мне автор не поймет (т.с. не в обиду).

А если перефразировать в "Сделай селект-затравку, подменяй им пустышки" - то не воспринимается вообще никак.

Лучше перебдеть, чем недобдеть, и выдать почти готовый алгоритм (не хватает инициализации при ховере)

  • Like 1
Link to comment
Share on other sites

  • 0

Большое спасибо s0rr0w и правда просто! А я помнится хотел сделать текстовые инпуты и селект позиционировать по верх с перехватом фокуса + потребовалась бы стилизация...

видимо имелось ввиду связанные списки? т.е. разбить селекты на группы и подгруппы (тем самым избавимся от длиннющей портянки option) и делаем зависимость от выбранного опшина.

Нет имелись ввиду не они ))) Связные списки делаются на раз два тем более что мой проект стоит на yii там есть специальный модуль для группировки и вывода группами селекта...

Но все равно спасибо! )

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy