(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'); if (['agg__arch__transaktion', 'agg__all__transaktion'].includes(field)) { // 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 (['agg__all__objektkategorie', 'agg__arch__objektkategorie', 'agg__obj__objektkategorie'].includes(field)) { // 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) { $(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__all__transaktion', 'agg__all__objektkategorie', 'agg__arch__objektkategorie', 'agg__obj__objektkategorie'].includes(field)) { let dropdown = toDropdown(field, i); } else { let searchValueSelectId = 'edit-terms-' + i + '-value'; let SearchValueFieldselector = "[id^='" + searchValueSelectId + "']"; let $searchValueInputField = $(SearchValueFieldselector); $searchValueInputField.show(); let $oldHelperField = $('#edit-terms-' + i + '-helper'); $oldHelperField.remove(); } }); } }; })(jQuery, Drupal, drupalSettings);