(function ($, Drupal, drupalSettings) { function toDropdown(field, i) { let searchValueSelectId = 'edit-terms-' + i + '-value'; let SearchValueFieldselector = "[id^='" + searchValueSelectId + "']"; let $searchValueInputField = $(SearchValueFieldselector); $searchValueInputField.hide(); let $oldHelperField = $('#edit-terms-' + i + '-helper'); $oldHelperField.remove(); $searchValueInputField.after(''); let $newHelperField = $('#edit-terms-' + i + '-helper'); console.log($newHelperField); if (field === 'agg__arch__transaktion') { // Transaktion $newHelperField.empty(); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); } else if (field === 'agg__arch__objektkategorie') { // Objektkategorie $newHelperField.empty(); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); $newHelperField.append(''); } $newHelperField.change(function () { let selectedOption = $newHelperField.find('option:selected'); $searchValueInputField.val(selectedOption.val()).text(selectedOption.text()); }); } Drupal.behaviors.advanceSearchEntityFields = { attach: function attach(context, settings) { let $searchSelectElement = $('[id^="edit-terms-0-search"]'); let originalSearchSelectOptions = $searchSelectElement.find('option').clone(); $searchSelectElement.empty(); $searchSelectElement.append(''); $searchSelectElement.append(''); $searchSelectElement.append(''); $(document).on('change', '.advanced-search-form--entity', function () { let id = $(this).attr('id'); let i = id.substring(11, 12); let $select = $('#' + id); let searchSelectId = 'edit-terms-' + i + '-search'; let selector = "[id^='" + searchSelectId + "']"; let $searchSelect = $(selector); if ($select.val() === 'akteur') { // Akteur $searchSelect.empty(); $searchSelect.append(''); $searchSelect.append(''); $searchSelect.append(''); $searchSelect.append(''); } else if ($select.val() === 'b48556e79962e0a3c8d0041317c853b9') { // Archivalie $searchSelect.empty(); $searchSelect.append(''); $searchSelect.append(''); $searchSelect.append(''); $searchSelect.append(''); $searchSelect.append(''); $searchSelect.append(''); } else if ($select.val() === 'ba419826c9014f40126565bf413f7a59') { // Auktion $searchSelect.empty(); $searchSelect.append(''); $searchSelect.append(''); $searchSelect.append(''); $searchSelect.append(''); $searchSelect.append(''); } else if ($select.val() === 'b65c3a85d16724d84a5eb0d2268629a6') { // Objekt $searchSelect.empty(); $searchSelect.append(''); $searchSelect.append(''); $searchSelect.append(''); $searchSelect.append(''); $searchSelect.append(''); $searchSelect.append(''); $searchSelect.append(''); $searchSelect.append(''); $searchSelect.append(''); } else if ($select.val() === 'ueberall') { $searchSelect.empty(); $searchSelect.append(''); $searchSelect.append(''); $searchSelect.append(''); $searchSelect.append(''); } }); $(document).on('change', '.advanced-search-form--select-field', function () { let id = $(this).attr('id'); let i = id.substring(11, 12); let field = $(this).val(); if (['agg__arch__transaktion', 'agg__arch__objektkategorie'].includes(field)) { let dropdown = toDropdown(field, i); } }); } }; })(jQuery, Drupal, drupalSettings);