Я использую select2 несколько добавить .... У меня есть список категорий в выпадающем списке select2 с возможностью добавлять новые - PullRequest
0 голосов
/ 02 апреля 2020

Есть ли реальный способ отличить guish вновь добавленные опции в "select2" от выбранных, чтобы мне не приходилось выполнять избыточные проверки для добавления новых значений ????

Ответы [ 2 ]

0 голосов
/ 02 апреля 2020

Очень грубый и готовый пример, jsfiddle у меня почему-то не работает правильно

https://jsfiddle.net/vd19cwxu/1/

Просто установите someProperty для всех существующих записей

$('#example').select2({
  placeholder: 'Select a month'
});

$('#example').val(['JUL', 'AUG']);
$('#example').trigger('change');

$($('#example').select2('data')).each(function(i, val)
{
val.someProp = 1;
});

позже, когда вы посмотрите на свойства, вы можете использовать фильтр, чтобы просто получить новые

setTimeout(function()
{
  const newEntries = $('#example').select2('data').filter(x => !x.someProp);
  alert(newEntries.length)
  alert(newEntries[0].id)
}, 5000)
0 голосов
/ 02 апреля 2020

Когда вы добавляете новое значение, оно выбирается, поэтому вы сможете добавить событие onchange:

<select class="form-control" onchange="doSomethingWith(this.value);">
...