logo
Русский
    Русский

      Дополнительные типы блоков (EBT) — новый опыт конструктора страниц❗

      Дополнительные типы блоков (EBT) — стилизованные, настраиваемые типы блоков: слайдшоу, вкладки, карточки, аккордеоны и многие другие. Встроенные настройки для фона, DOM Box, плагины Javascript.

      Демо EBT модули Скачать EBT модули

      ❗Дополнительные типы параграфов (EPT) — новый опыт работы с параграфами

      Дополнительные типы параграфов (EPT) — набор модулей, основанный на аналогичных параграфах.

      Демо EPT модули Скачать EPT модули

      Scroll

      Загрузка произвользых значений в список выбора

      22/02/2025, by Гость (не проверено)
      Форумы

      Есть два списка выбора в новой ноде. Первый связан со словарем таксономии. Как можно сделать, чтобы при выборе значения в первом списке срабатывал запрос (ко второму словарю таксономии) и во второй список загружался результата запроса.


      Здравствуйте можете использовать form states как здесь:

      http://randyfay.com/states

      А можете использовать вот этот модуль:

      http://drupal.org/project/hierarchical_select

       


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

       


      Это да, тогда вам придется на ajax делать запрос по выбору из первого словаря и выводить второй, мне кажется уроков по этому должно быть предостаточно в интернете.
      http://coursesweb.net/ajax/multiple-select-dropdown-list-ajax_t

      Ну или загуглите php ajax two drop down.


      Может ворос глупый, но всё-таки. Куда вписывать код? В какой файл?


      Если через views делать, то нужно переопределить шаблон exposed filters. Если через hook_menu делаете страницу, тогда делайте в своем модуле поиск.


      В файле info темы дописал scripts[] = js/js.js далее создал скрипт

      jQuery(document).change(function(){
      alert('!!!');
      });

      срабытывает на изменения в страницах. Во всех. Хотелось бы указать именно поле в ноде, для которого должен сработать код.
      Как здесь обратится к полю ноды с <select id="edit-field-333-und" class="form-select" name="field_333[und]">


      Лучше всего обработчик событий ставить через функцию bind() (или live()), например так:

      $("#edit-field-333-und").bind("change", function () {
        // что-нибудь делаем
      });

      Потому что для bind(), можно добавить дополнительные события, по которым выполнять действия:

      $('#edit-field-333-und').bind("change keyup input",function() {
        //делаем что-нибудь здесь
      });




       jQuery("#edit-field-333-uid").bind("change", function () {
        alert('777')
      });

      Никакой реакции поля на изменение. Что может быть не так? Кеш чистил.

      Может в друпале 7 есть какие-то особенности?


      Да есть, jQuery в режиме noConflict:

      https://drupalbook.org/ru/drupal/drupal-i-jquery-urok-1-podklyuchaem-fayl-s-jquery


      Спасибо за помощь!

      Заработало

       

      (function($){
        $(document).ready(function(){
         $("#edit-field-333-und").bind("change", function () {
        alert('777')
      });
        });
      })(jQuery);

       

      Срабатывает именно на изменение значения поля.

       

       


      В статье указано, как подключать JS к теме. А если надо несколько файлов, то надо для каждого писать строку scripts[] = js/custom.js в файле темы?