używam następujący fragment kodu, aby dodać nową select2 tag zdalnie z ajax i chcę się zarejestrować lub usunąć niektóre zapisy mój wiele do wielu tabeli na nowy tag/usunąć tagu zdarzeniaJak wypalić nowy ajax w zdarzeniu select2 new/remove tag?
Tabela wygląda
---------------------------------
+--voucher_id--+|+--product_id--+
---------------------------------
+ 123 | 566 +
---------------------------------
+ 156 | 566 +
---------------------------------
+ 123 | 426 +
---------------------------------
+ 156 | 516 +
---------------------------------
My JavaScript
$(".e6").select2({
tags: true,
placeholder: 'placeholder',
minimumInputLength: 1,
ajax: {
url: 'searchProducts',
dataType: 'json',
data: function(term) {
return {q: term};
},
results: function(data) {
return {results: data};
}
},
createSearchChoice: function(term, data) {
if ($(data).filter(function() {
return this.computername.localeCompare(term) === 0;
}).length === 0) {
return {id: term, name: term};
}
},
formatResult: function(item, page) {
return item.computername;
},
formatSelection: function(item, page) {
return item.computername;
}
});
w zwróconym json mam identyfikator produktu, jak również i szukam sposobu na ogień nowy ajax na select2 zdarzenia, ale nie mogę dowiedzieć się, gdzie należy zrobić, aby zapisz lub usuń dane z mojej tabeli.
wprowadzenie pewnych badań udało mi się zbudować funkcję, która będzie aktualizować rekordy w tabeli powyżej i który działa dobrze sofar
$('.e6').on("change", function(e){
console.log(ids);
console.log(gs);
$.ajax({
type: "POST",
url: '/admin/?controller=vouchers&action=updateRelatedProducts',
data: {ids: ids, gs:gs},
error: function() {
alert("error");
}
});
});
ale mam problemy, aby wypełnić moje pole wejściowe z początkowych istniejących tagów
Abstract się funkcja ajax do niego własną funkcję, a następnie zastosować to do jakichkolwiek funkcji select2 trzeba zrobić. –
co nie jest dla mnie jasne, jak złapać usunąć lub dodać wydarzenie w przypadku select2 – fefe
Po prostu spojrzał na "Select2" to jest niesamowite. Będzie musiał zacząć z niego korzystać! –