Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery将值附加到Django choicefield_Javascript_Jquery_Python_Django - Fatal编程技术网

Javascript Jquery将值附加到Django choicefield

Javascript Jquery将值附加到Django choicefield,javascript,jquery,python,django,Javascript,Jquery,Python,Django,我有一个表格,看起来像这样: CROP_CHOICES = ( ('', 'Choose..'), ) class CropMonitoringPlantHeightForm(forms.Form): Crop = forms.ChoiceField(choices = CROP_CHOICES, widget = forms.Select(attrs = { 'readonly': 'True', 'class'

我有一个表格,看起来像这样:

    CROP_CHOICES = (
      ('', 'Choose..'),
    )
     class CropMonitoringPlantHeightForm(forms.Form):
      Crop = forms.ChoiceField(choices = CROP_CHOICES, widget = forms.Select(attrs = {
        'readonly': 'True',
        'class': 'form-control seleckpicker'
      }))
     plot = forms.ModelChoiceField(queryset = Plot.objects.all(), widget = Select(attrs = {
      'disabled': 'True',
      'class': 'form-control seleckpicker'
    }), empty_label = "Choose Plot")
所以我想要的是当“template.html”上的用户选择绘图时,然后将与该绘图相关的裁剪名称附加到裁剪选择字段中

因此,我这样做:

var options = '<option value="">Choose crop..</option>';
crops = plotmanagement_info[1];
for (var i = 0; i < crops.length; i++) {
options += '<option value="' + crops[i] + '">' + crops[i] + '</option>';
}
$("#id_Crop").html(options);
$("#id_Crop option:selected").attr('selected', 'selected');
var选项='选择裁剪..';
作物=绘图管理_信息[1];
对于(变量i=0;i
值附加到作物选择字段

问题: 当我尝试提交表单时,收到以下错误消息:

选择一个有效的选项。XXX不是可用的选择之一

如何使用查询将值附加到Django choicefield

提前感谢

您的作物选择是a,这是不可变的

请尝试改用列表:

CROP_CHOICES = [
    ('', 'Choose..'),
]

问题是在Django端,
选项
在没有添加选项的情况下被填充,当它验证时,它会看到您的选择不是其中之一。我认为您可以在某个地方(即,在特定字段的clean方法中)重写此选项,以便将该选项添加到列表中,或者不验证它是否在先前指定的列表中。说明:请注意,选项可以是任何iterable对象,而不一定是列表或元组。这使您可以动态构造选择。但是,如果您发现自己的黑客选择是动态的,那么最好使用带有ForeignKey的适当数据库表。选择是为了静态数据,如果有变化,也不会有太大变化。“我该怎么做@makavel?我如何在django Template上使用jquery附加选项在jquery中不能这样做,但是在视图级别上发布表单中的数据之后,您就可以这样做了;我可以通过将choicefield更改为modelchoicefield来解决这个问题…因此:Crop=forms.modelchoicefield(queryset=Crop.objects.all(),widget=Select(attrs={'class':'form control seleckpicker'}),empty_label=“Choose Crop…”