【问题标题】:Django multiwidget for CharField form fieldCharField 表单域的 Django 多小部件
【发布时间】:2019-08-08 19:01:09
【问题描述】:

我正在尝试了解如何在 Django 中为表单字段编写多控件。我有一个复选框字段,然后是一个 CharField,我想根据是否选择了复选框字段来使用 Javascript 启用/禁用它,所以我试图在这两个字段中添加一个“id”。

我知道这需要一个多窗口小部件,但我很难理解如何去做。

from django import forms

PRIORITY_CHOICES = [('high', 'High'), ('low', 'Low')]

class UploadForm(forms.Form):
gender_select = forms.BooleanField(label='Even Gender Distribution', required=False, widget=forms.TextInput(attrs={'id':'gender_select'}))
gender_priority = forms.CharField(label='Select Priority', required=False, widget=forms.Select(choices=PRIORITY_CHOICES))

就像'gender_select'字段一样,我需要将以下内容添加到'gender_priority':

forms.TextInput(attrs={'id':'gender_priority'})

但据我了解,我只能包含一个小部件。我将如何包含多个?

【问题讨论】:

    标签: python django


    【解决方案1】:

    我最终解决了这个问题,任何人都在寻找答案:

    PRIORITY_CHOICES = [('high', 'High'), ('low', 'Low')]
    
    class UploadForm(forms.Form):   
        gender_select = forms.BooleanField(label='Even Gender Distribution', required=False, widget=forms.CheckboxInput(attrs={'id':'gender_select'}))
        gender_priority = forms.ChoiceField(label='Priority', required=False, choices=PRIORITY_CHOICES, widget=forms.Select(attrs={'id':'gender_priority'}), disabled=True)
    

    js:

    document.getElementById('academic_score_select').onchange = function() {
        document.getElementById('academic_score_priority').disabled = !this.checked;
    

    };

    【讨论】:

      猜你喜欢
      • 2021-06-13
      • 2015-11-20
      • 2011-01-19
      • 2014-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-10
      相关资源
      最近更新 更多