小编Jør*_*gen的帖子

通过JQuery .val()将多个数据字段从<select multiple>传递到Django formfield

我有一个应用程序,我有很多实例将单个html选择的用户选择传递给表单字段没有问题,但我在多选案例中努力做同样的事情.似乎该JQuery.val()函数正在创建一个正确的数据数组,但我在服务器上的formfield显示一个空字符串.我继承了这个应用程序,并且在某种程度上是一个菜鸟.

相关的javascript函数是

$('.exemptionfield').change(function() {
    var exemptionfield = $(this)

    $.ajax({
        url: '/form/ASubstanceExemption',
        type: 'POST',
        data: {
            sclId: $('#sclId').val(),
            substance: exemptionfield.attr('id'),
            exemption: exemptionfield.val()
        }
    })
})
Run Code Online (Sandbox Code Playgroud)

表格看起来像

class ASubstanceExemption(forms.Form):
   buttonTitle = 'submit'
   title = 'not used'

   sclId = forms.IntegerField()
   substance = forms.CharField()
   exemption = forms.MultipleChoiceField(required=False,
                            choices=kExemptions)
   def handle(self, *args, **kwargs):
      sclId = self.cleaned_data['sclId']
      substance = self.cleaned_data['substance']
      exemption = self.cleaned_data['exemption']
      print exemption
etc...
Run Code Online (Sandbox Code Playgroud)

HTML选择看起来像

<select multiple size="5" class="exemptionfield" id="Lead/lead compounds">
<option value="1(a)">
    1(a)
</option>
<option value="1(b)">
    1(b)
</option>
<option value="1(c)">
    1(c) …
Run Code Online (Sandbox Code Playgroud)

django jquery django-forms multi-select

2
推荐指数
1
解决办法
1916
查看次数

标签 统计

django ×1

django-forms ×1

jquery ×1

multi-select ×1