Django - 如果使用 jquery-editable-select,选择 onchange 事件将不再工作

问题描述 投票:0回答:1

我正在使用 django 模型中的选择项和 onchange 事件来触发 JS 脚本:

表格.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 将我的选择项转换为可搜索数据列表,则 onchange 事件不再触发 JS 脚本...

有人知道解决方法吗?

模板.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>
jquery django select onchange html-datalist
1个回答
0
投票

通过此链接,我终于找到了操作方法: 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())
        });
© www.soinside.com 2019 - 2024. All rights reserved.