У меня есть senario, что я хочу выпадающий список select2, который позволяет пользователям выбирать несколько вариантов. Но когда они выбирают опцию, я хочу, чтобы панель выбора отображала аббревиатуру выбранного элемента. Прямо сейчас у меня есть массив значений ключей, где ключом является аббревиатура, а значением является полнотекстовый.
Сейчас я не могу найти способ получить «оригинальный» ключ моего массива, когда явыберите опцию. Также я не вижу ничего, что может относиться к ключу массива.
Класс формы
$builder->add('relations', ChoiceType::class, [
'choices' => [
'isp' => 'Internet service provider',
'db' => 'Database'
]);
Представление
{{ form_row(form.relations) }}
Javascript
<script>
$(document).ready(function() {
$('#form_relations').select2({
closeOnSelect : false,
placeholder : "Placeholder",
allowHtml: true,
allowClear: true,
multiple: true
});
});
</script>
Сейчас он просто будет использовать значение массива, когда вывыберите опцию, однако я хотел бы использовать сокращение. Я попытался войти выбранные параметры, но, похоже, не содержит ключ массива. Я также попытался просмотреть массив, который Symfony возвращает представлению, и он, кажется, заменяет ключи инкрементным индексом вместо того, чтобы хранить мой собственный. Есть ли способ убедиться, что Symfony будет хранить мои собственные ключи и использовать их, когда опция выбрана с помощью select2JS?