0

在我的 django 应用程序中,我有一个 WorkerModel 和一个 ProvinceModel,每个工人都有一个 Province_id 字段。我已经使用 ModelSelect2Widget (django_select2) 为 Province_id 定义了一个 Worker 表单。我想知道如何使用javascript 为province_id 字段设置一个值。我尝试过:

$('#id_province_id').val(province_id).trigger('change');

但不工作。这是我的表格的定义

   from django_select2.forms import ModelSelect2Widget
    class WorkerForm(forms.ModelForm):
        
        class Meta:
            model = WorkerModel
            exclude = ("id",)
            widgets = {
                'name':forms.TextInput(attrs={'class': 'form-control'}),
                'province_id' : ModelSelect2Widget(model=ProvinceModel, queryset=ProvinceModel.objects.filter(),
                                                search_fields=['des_prov__icontains'],
                                                attrs={'style': 'width: 100%;'}),

    }

in the template

   <script>
//on a button click a want to set the value of province_id
     $(document).ready(function () {
    
                $('#id_province_id').djangoSelect2({
                    placeholder: 'Seleccione una opción',
                    escapeMarkup: function (markup) { return markup; },
                    language: {
                        noResults: function () {
                            return "No se encuentran resultados.";
                        }
                    }
    
     });
                });
    </script>
4

1 回答 1

0

你可以在你的 ajax 成功函数上试试这个:

success: function(data){
   // Assumes that data.result is your proovince id
   if(data.hasOwnProperty('result')){
       $('#id_province_id').val(data.result).trigger('change');
   }
}
于 2021-05-29T22:59:02.987 回答