有没有可行的方法来区分"select2"中新添加的选项和所选的选项,这样我就不必执行冗余检查来添加新值????
当您添加一个新值时,它会被选中,因此您应该能够添加一个onchange事件:
<select class="form-control" onchange="doSomethingWith(this.value);">
非常粗糙和现成的例子,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)