0 Пользователей и 1 Гость просматривают эту тему.
  • 14 Ответов
  • 1454 Просмотров
*

NeuroZ

  • Захожу иногда
  • 121
  • 0 / 0
  • Разработка сайтов и расширений под ключ
Подскажите как добавлять динамические выпадающие списки?
Например есть 2 выпадающих списка, первый активен, а второй становится активен только после того как в первом выбрано какое-нибудь значение. Причем данные во втором списке должны подтягиваться в соответствии с таблицей связей с первым селектом.

И еще хотелось бы уточнить как сделать выпадающий список со встроенным поиском?

Вообще таким образом я хочу реализовать схему зависимостей марок и моделей машин (но я думаю, что многие люди, при написании своего компонента, сталкивались с похожей задачей)
*

NeuroZ

  • Захожу иногда
  • 121
  • 0 / 0
  • Разработка сайтов и расширений под ключ
Эм... может я что-то не так написал...
Вот есть файлы манифеста, где описываются различные типы полей на странице компонента. Можно также написать собственное поле. Ок.
Вопроса по сути два:
1. Как создать выпадающий список, который бы зависел от значений, выбранных в другом выпадающем списке?
2. Как создать тип поля: выпадающий список со встроенным окном поиска по этому списку?
*

gaalferov

  • Захожу иногда
  • 75
  • 9 / 0
  • ...
Тут только jQuery в помощь.
Вот плагин селекта, который со встроенным поиском https://select2.github.io/examples.html
А именно подгрузку второго делаете по событию onchange на первом селекте.


p.s .в принципе ничего сложного, если нормально знаете jQuery. Ну и Google конечно в помощь, где-то уже должны быть примеры
*

NeuroZ

  • Захожу иногда
  • 121
  • 0 / 0
  • Разработка сайтов и расширений под ключ
да я в принципе не раз реализовывал зависимые селекты (но во фронтенде).
Тут просто свои приколы в административной части с этими файлами манифеста и т.п. Вот хотел узнать о способе, который бы не являлся "костыльным"
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
А причем тут файлы манифеста? Вся логика все равно находится в Вашем типе поля.
*

NeuroZ

  • Захожу иногда
  • 121
  • 0 / 0
  • Разработка сайтов и расширений под ключ
Вот плагин селекта, который со встроенным поиском https://select2.github.io/examples.html
То, что надо! Большое спасибо!
*

NeuroZ

  • Захожу иногда
  • 121
  • 0 / 0
  • Разработка сайтов и расширений под ключ
А причем тут файлы манифеста? Вся логика все равно находится в Вашем типе поля.
Ну получается мне нужно просто создавать свои собственные типы полей для каждого динамического селекта?
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Ну получается мне нужно просто создавать свои собственные типы полей для каждого динамического селекта?
Конечно.
*

NeuroZ

  • Захожу иногда
  • 121
  • 0 / 0
  • Разработка сайтов и расширений под ключ
Спасибо за советы, буду пробовать
*

NeuroZ

  • Захожу иногда
  • 121
  • 0 / 0
  • Разработка сайтов и расширений под ключ
И еще сюда же вопрос. В самом начале при загрузке страницы у меня для некоторых селектов стоит disabled
$('select[id^="jform_city"]').attr('disabled', true);

потом после получения AJAX success я убираю disabled
$('#jform_city_from]').attr('disabled', false);

Но т.к. селект кастомный (формировался при помощи стандартного поля JHTML::_('select.option') ) то он "не включается" обратно...
т.е. остается неактивным. Как можно его снова включить и загрузить в него результаты из аякса?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Не путайте фронтэнд с бэкендом, тобищь php с javascript, JHTML::_('select.option') задает только начальные значения при загрузке страницы, после они меняются с помощью javascript.
*

NeuroZ

  • Захожу иногда
  • 121
  • 0 / 0
  • Разработка сайтов и расширений под ключ
Не путайте фронтэнд с бэкендом, тобищь php с javascript, JHTML::_('select.option') задает только начальные значения при загрузке страницы, после они меняются с помощью javascript.
Да я не путаю, видимо некорректно выразился... Вопрос собственно в том, как переинициализировать кастомный селект по success в AJAX ?
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Нужно еще обновить бутстраповский select

Код: php
$('select[id^="jform_city"]').trigger("liszt:updated");
*

NeuroZ

  • Захожу иногда
  • 121
  • 0 / 0
  • Разработка сайтов и расширений под ключ
Спасибо! Получилось :)

p.s. А как Вы узнали, что нужно вызвать именно такой триггер "liszt:updated" ? Как самостоятельно узнавать о том какие триггеры доступны в конкретных случаях? Или это документация бутстрап?
« Последнее редактирование: 18.08.2015, 11:17:00 от NeuroZ »
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Спасибо! Получилось :)

p.s. А как Вы узнали, что нужно вызвать именно такой триггер "liszt:updated" ? Как самостоятельно узнавать о том какие триггеры доступны в конкретных случаях? Или это документация бутстрап?
Google ;)

Запрос по chosen update select сразу выводит на ответ. Сам так искал в свое время.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Создание релиза компонента средствами GitHub

Автор SkyAn

Ответов: 4
Просмотров: 716
Последний ответ 01.11.2019, 17:42:04
от Septdir
routing в компоненте для соц сетей

Автор interregional

Ответов: 4
Просмотров: 631
Последний ответ 10.04.2019, 09:01:01
от sivers
Загрузка и сохранение изображения в компоненте

Автор GuDeVic

Ответов: 16
Просмотров: 1615
Последний ответ 09.04.2018, 08:48:40
от averkiev
Подключить Joomla Framework в своем файле

Автор kolhoz

Ответов: 1
Просмотров: 1469
Последний ответ 06.12.2017, 17:15:42
от Aleks.Denezh
Удаление в самописном компоненте компоненте

Автор phpCoder

Ответов: 8
Просмотров: 1030
Последний ответ 25.11.2016, 09:09:56
от phpCoder