【问题标题】:How to activate a charfield using a checkbox in django?如何使用 django 中的复选框激活字符域?
【发布时间】:2011-07-05 10:23:12
【问题描述】:

如何在 django 中创建一个复选框,当该框被勾选时,它下面的一个字符域被激活。 (如果未选中该框,则其下方的字符字段不应处于活动状态)。

这是我的models.py

    ...
    frequent_flyer_number = models.CharField('Freq Flyer No',max_length=30,unique=True)
    frequent_flyer_number2 = models.CharField('Freq Flyer No2',max_length=30,unique=True, blank=True)
    frequent_flyer_number3 = models.CharField('Freq Flyer No3',max_length=30,unique=True, blank=True)
    frequent_flyer_number4 = models.CharField('Freq Flyer No4',max_length=30,unique=True, blank=True)
    ...

我希望仅在勾选复选框时激活frequent_flyer_number2,3,4。

【问题讨论】:

    标签: django django-models


    【解决方案1】:

    您应该在模板中添加一些 javascript 来切换您的字段可见性(或 disabled 属性)。见:How To Collapse Just One Field in Django Admin?

    $(document).ready(function(){
        function show_hide() {
            var is_checked = $('#id_first_field').attr('checked');
            $('.second_field,.third_field,.fourth_field')[is_checked ? 'show' : 'hide']();
        }
        show_hide();
        $('#id_first_field').change(show_hide);
    });
    

    (如果不是您的管理员,请确保您也使用jQuery

    【讨论】:

    • 所以换句话说,这就是我将在我的 base.html 模板中实现的内容?
    • 我相信更适合放在特定模板的底部(即myform.html)。
    • 如果这解决了您的问题,请接受我的回答。见:meta.stackexchange.com/questions/5234/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-10
    • 1970-01-01
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    • 2021-07-05
    相关资源
    最近更新 更多