练习-下拉框(冒泡问题)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
    button{
        width:300px;
        height:40px;
    }
    div{
        width:300px;
        height:500px;
        background-color:red;
        display:none;
    }
    </style>
</head>
<body>
    <!-- 要求:做一个下拉菜单,在点击时,让该菜单展示出来,点击页面的其他位置时,菜单隐藏 -->
    <button>下拉框</button>
    <div></div>
    <script>
    var oBtn=document.querySelector("button");
    var oDiv=document.querySelector("div");
    var b=true;  //布尔值开关(一个按钮执行不同效果的时候使用)
    oBtn.onclick=function(){
        // 最初是true,所以一点击就显示,后来b变为false再点击就不显示,这样循环
        oDiv.style.display=b ? "block" : "none";
        b=!b;      //b是全局的,所以b改变影响的是全局b
        event.cancelBubble=true;    //不取消冒泡,下拉框无法出来
    }
    document.onclick=function(){
        oDiv.style.display="none";
        b=true;    //不写这个的话会出问题
    }
    </script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,让我解答你的问题。 在Django中,Form和ModelForm都可以用于创建表单。其中,ModelForm是基于模型类自动生成表单,同时也可以手动添加、修改和删除表单字段。而Form则需要手动添加表单字段。 对于下拉框或多选框这类选择字段,可以使用ChoiceField或MultipleChoiceField来创建。在创建时,需要指定选项列表,例如: ```python CHOICES = [('1', 'Option 1'), ('2', 'Option 2'), ('3', 'Option 3')] my_choice_field = forms.ChoiceField(choices=CHOICES) my_multi_choice_field = forms.MultipleChoiceField(choices=CHOICES) ``` 其中,CHOICES是一个包含选项的列表,每个选项由一个元组表示,第一个元素为选项的值,第二个元素为选项的显示文本。 需要注意的是,在使用ModelForm时,如果模型中的字段是选择字段,那么会自动创建一个ChoiceField或MultipleChoiceField,并使用模型中的选项列表。但是,如果需要手动添加选择字段,需要指定选项列表和模型中对应字段的名称,例如: ```python class MyModelForm(forms.ModelForm): my_choice_field = forms.ChoiceField(choices=CHOICES, label='My Choice Field', help_text='This is my choice field') class Meta: model = MyModel fields = ['my_model_field', 'my_choice_field'] ``` 在以上代码中,我们手动添加了一个名为my_choice_field的ChoiceField,并将其添加到表单中。需要注意的是,必须在Meta类中指定模型字段的名称,否则该字段不会出现在表单中。 另外,对于字段的其他选项,例如label、help_text等,可以在创建字段时指定,例如: ```python my_field = forms.CharField(label='My Field', help_text='This is my field') ``` 以上就是关于下拉框或多选框注意事项的解答,希望能对你有所帮助。如果还有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值