В Select2 есть опция с именем dropdownCssClass , если вы укажете здесь уникальное значение для каждого элемента select, родительский div от визуализированного html для select2 будет иметь этот класс css, и вы сможете легко получить к нему доступ и найти элементы внутри него., я бы изменил код так:
<label for="Salutation">Salutation:</label>
<select class="" name="" id="Salutation" data-selector='salutation'>
<option value="Mrs">Mrs</option>
<option value="Mr">Mr</option>
<option value="Miss">Miss</option>
</select>
<label for="Gender">Gender:</label>
<select class="" name="" id="Gender" data-selector='salutation'>
<option value="Female">Female</option>
<option value="Male">Male</option>
<option value="Transgender">Transgender</option>
</select>
обратите внимание, что я добавил атрибут данных для каждого выбора, затем в коде инициализации вы можете сделать это
$("select").each(function(){
var selector = $(this).data('selector')
$(this).select2({
dropdownCssClass: selector
}).on("select2-open select2-close", function() {
hideSelect2Keyboard(selector);
});
});
теперь каждыйиз отобранных селекторов будет иметь родителя с указанным классом, теперь вы можете выбрать его внутри находки, например
var yourDiv = $('.salutation').find('.select2-search')