Django - событие select onchange больше не работает при использовании jquery-editable-select
Я использую элемент select из модели django с событием onchange для запуска JS-скрипта :
forms.py
class forms_bdc(forms.ModelForm):
[...]
bdc_description_1 = forms.ModelChoiceField(queryset=models_products.objects.values_list('product_denomination', flat=True),required=False, widget=forms.Select(attrs={'id': 'editable-select-2','onchange': 'populate_selected_product(this.id,this.value)'}),empty_label=None )
Это работает очень хорошо, но если я использую jquery-editable-select для преобразования элемента select в своего рода поисковый datalist, событие onchange больше не запускает JS-скрипт ...
Кто-нибудь знает обходной путь для этого?
template.html:
<script>
function populate_selected_product(product_selectbox_id, product_selectbox_value) {
$.ajaxSetup({
data: {
product_num: product_selectbox_value,
csrfmiddlewaretoken: '{{ csrf_token }}'
},
});
$.ajax({
type: "GET",
url: "../populate_selected_product/",
success: function (data) {
$("#div_update_row_bdc_product").html(data)
$('#'+product_selectbox_id).parent().find('#id_id_bdc').val($("#id_product_denomination").val())
}
});
}
// and here is the code to transform the select item with jquery-editable-select
$('#editable-select-2').editableSelect({effects: 'fade'});
</script>
Наконец-то я нашел, как это сделать, благодаря этой ссылке: https://indrimuska.github.io/jquery-editable-select/
В моем примере вот что я сделал :
$('#editable-select-2').editableSelect().on('select.editable-select',
function (e, li) {
populate_selected_product($('#editable-select-2').attr('id'),li.text())
});