Joomla 4. Компонент K2 и форк K2ForJ4 (18 янв 2024)
Если вас, как и меня, достало выслушивать (вычитывать) бесконечные обещания разработчика K2 опубликовать версию компонента K2 под Joomla 4 (без чего невозможно реализовать апгрейд from Joomla 3 to Joomla 4) - воспользуйтесь форком K2ForJ4. Который в данный момент установлен и без каких-либо проблем работает на этом веб-сайте.
JavaScript SELECT. Динамические списки
- Aleksej
- Автор темы
- Не в сети
- Модератор
- Aleksej
- Автор темы
- Не в сети
- Модератор
Вполне грамотно, одним словом. Берите на вооружение... сохраните приведенный код в виде текстового файла и откройте в браузере - получите отличный пример связанных селектов. Теперь давайте подумаем, каким же образом нам с вами подставить в скрипт вместо Petya,Vasya - данные формочки. Это способно быть, например, следующим образом:
Вот как-то так. Если подставите этот код в конце default.php старого варианта формочки - увидите его в действии (сказанное справедливо и для последующих ревизий кода, приведенных в этой статье). Скажем прямо, решение для поставленной задачки нелучшее, хотя и вполне себе работает. Но у нас с вами возникают некоторые затруднения, например - если название города в первом селекте состоит из двух слов. Проблема не самая глобальная, но... но попробуем все-таки пойти по иному пути.
Нам с вами поможет очень небольшой и крайне полезный скрипт, актуальную версию которого всегда можно достать на гитхабе: jquery.chained.min.js . На момент создания этого материала он выглядит следующим образом:
, а наши с вами динамические селекты приобретают следующие черты, уже отдаленно напоминающие то, к чему в итоге хотелось бы прийти:
Снова все работает, снова остались лишь совсем небольшие минусы... в частности, код довольно неуклюж, к тому же на выходе мы рискуем получить два одинаковых названия города в первом селекте, если в админке модуля предусмотрены для одного города две разные вакансии. Идем дальше:
Так значительно лучше, не правда ли? - но одно по-прежнему плохо: css-класс не может состоять из двух слов и содержать пробелы... таким образом, осталось сделать последний штрих, задействовав регулярки:
И вот теперь это действительно все. Хотя продолжение, как обычно, следует.
- serge
- Не в сети
- Модератор
- Сообщений: 975
- Спасибо получено: 145
Aleksej пишет: Нам с вами поможет очень небольшой и крайне полезный скрипт, актуальную версию которого всегда можно достать на гитхабе: jquery.chained.min.js .
Ты позабыл оставить ссылку на сайт разраба скрипта:
www.appelsiini.net/projects/chained
Также полезно сказать, что HTML зависимых селектов будет выглядеть в этом случае так:
First you must include jQuery and Chained in your code:
Code:<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script src="jquery.chained.min.js"></script>
Then lets assume you have the following HTML code:
You can now chain the #series to #mark. There are two different ways to do it. Choose yourself if you prefer more english like or shorter version. I prefer the shorter version.Code:<select id="mark" name="mark"> <option value="">--</option> <option value="bmw">BMW</option> <option value="audi">Audi</option> </select> <select id="series" name="series"> <option value="">--</option> <option value="series-3" class="bmw">3 series</option> <option value="series-5" class="bmw">5 series</option> <option value="series-6" class="bmw">6 series</option> <option value="a3" class="audi">A3</option> <option value="a4" class="audi">A4</option> <option value="a5" class="audi">A5</option> </select>
Code:$("#series").chained("#mark"); /* or $("#series").chainedTo("#mark"); */[/quote]
А я смогу! - А поглядим! - А я упрямый!
- yotson
- Не в сети
- Новый участник
- Сообщений: 10
- Спасибо получено: 0
- serge
- Не в сети
- Модератор
- Сообщений: 975
- Спасибо получено: 145
yotson пишет: если нужно чтобы по определенным выборам селектов открывалось текстовое поле?
Это совсем просто:
А я смогу! - А поглядим! - А я упрямый!
- yotson
- Не в сети
- Новый участник
- Сообщений: 10
- Спасибо получено: 0
- Aleksej
- Автор темы
- Не в сети
- Модератор
yotson пишет: а если нужно чтобы не по одному селекту из трех textarea открывалось, а по нескольким?
Как вариант.
- unior
- Не в сети
- Захожу иногда
- Сообщений: 70
- Спасибо получено: 5
Источник
- Aleksej
- Автор темы
- Не в сети
- Модератор
Chained Selects
html
js
Взглянуть возможно здесь .
- serge
- Не в сети
- Модератор
- Сообщений: 975
- Спасибо получено: 145
serge пишет: www.appelsiini.net/projects/chained
Объединение bootstrap-select и jquery-chained:
html
javascript
jsfiddle.net/80zkodod/1/
А я смогу! - А поглядим! - А я упрямый!