如何使用javascipt以编程方式(点击按钮)设置django-select2字段的值



在我的django应用程序中,我有一个WorkerModel和一个ProvinceModel,每个worker都有一个provence_id字段。我已经使用provision_id的ModelSelect2Widget(django_select2(为Worker定义了一个表单。我想知道如何使用javascript设置provence_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>

您可以在您的ajax成功函数上尝试此操作:

success: function(data){
// Assumes that data.result is your proovince id
if(data.hasOwnProperty('result')){
$('#id_province_id').val(data.result).trigger('change');
}
}

最新更新