Я использую Select2 v4 с Ajax для заполнения и поиска доступных опций в базе данных. Я хочу, чтобы пользователь мог добавлять новые параметры, поэтому я включил теги. Мне нужно добавить новый параметр в базу данных, поэтому я фиксирую событие .on('select2:select')
и создаю сообщение ajax, чтобы добавить новый параметр, который возвращает идентификатор нового параметра. Что я не могу получить, так это то, что мне нужно изменить идентификатор выбранной опции, чтобы он не совпадал с текстом новой опции, чтобы быть идентификатором, возвращаемым сообщением, поэтому, когда форма отправлена, я получаю целочисленный идентификатор, не текст.
$('#unitSelect2').select2({
width: '100%',
delay: 250,
ajax: {
url: 'index.php',
type: 'POST',
data: function (params) {
var query = {
op_type: 'getUnitOptions',
type: 'unit',
term: params.term
}
return query;
},
dataType: 'json'
},
tags: true
}).on('select2:select', function (evt) {
if(evt.params.data.id == evt.params.data.text) {
$.ajax ({
url: 'index.php',
type: 'POST',
data: {op_type: 'addNewDropdownOption', type: 'unit', optionTxt: evt.params.data.text},
dataType: 'json',
async: false,
success: function (data) {
//Here's where I can't figure out what to do
}
});
}
});