Я использую select2 с несколькими опциями и программным доступом для выбора также кнопкой. Он отлично работает, но когда я нажимаю кнопку, все ранее выбранные значения удаляются и выбирается только значение с нажатой кнопки. Поскольку я использую множественный выбор, имеет смысл добавить значение clicked и оставить ранее выбранный, не удаляя их ... Есть ли еще одно событие для запуска, кроме «изменения», которое не удаляет значения, но вместо этого добавляет их?select2 change event без удаления уже выбранных опций
<select id="id_entities" class="js-example-programmatic" style="width:100%" multiple="multiple">
</select>
<td><button id="prefix_{{teu.entity_id}}" class="js-programmatic-set-val" value="{{teu.entity_id}}" name="{{teu.entity}}"><i class="fa fa-plus"></i></button></td>
<td>{{teu.entity}}</td>
<td>{{teu.user}}</td>
<script >
$(".js-example-programmatic").select2({
minimumInputLength: 2,
placeholder: "Select entities...",
allowClear: true,
multiple:true,
delay: 250,
tags:false,
ajax: {
url: '/entities/search/autocomplete/',
dataType: 'json',
data: function (parms, page) { return { title: parms.term }; },
},
});
</script>
<script>
var $example = $('#id_entities');
$("button[id^='prefix_']").click(function(){
value = $(this).attr('value');
value_name = $(this).attr('name')
if ($('#id_entities option[value="'+value+'"]').length > 0) {
}
else {
$("#id_entities").append('<option value="'+value+'">'+value_name+'</option>');
}
$example.val(value).trigger("change");
});
</script>
Если вы включили HTML и немного JS, чтобы мы могли лучше понять окружающую среду, у вас есть, что было бы полезно. –
добавил html и javascript .. Я использую этот jquery для выбора поля https://select2.github.io/ – Torostar
Сделай еще один шаг и создай его http://www.jsfiddle.net – vol7ron