我在一个模态中有一个Django表单渲染。名称字段工作正常但2个选择字段显示选项,即使他们有活动类。
<div id="modal1" class="modal">
<div class="modal-content">
<h4>Create a Store</h4>
<form action="/" method="post">
{% csrf_token%}
{% for field in form %}
<div class="input-field">
{{ field.errors }}
{{ field.label_tag }} <br>{{ field }}
</div>
{% endfor %}
<button class="btn" type="submit">Create!</button>
</form>
</div>
<div class="modal-footer">
<a href="#!" class=" modal-action modal-close waves-effect waves-green btn-flat">Agree</a>
</div>
</div>
底部的脚本
$(document).ready(function(){
$('.modal-trigger').leanModal();
$('select').material_select();
});
模型表格
class StoreForm(forms.Form):
name = forms.CharField(required=True)
store_size = forms.ChoiceField(widget=forms.Select(),
choices=models.SIZE_CHOICES, initial='1', required=True)
subscriber_status = forms.ChoiceField(widget=forms.Select(),
choices=models.SUBSCRIBER_LEVEL, initial='1',
help_text="You can always downgrade or upgrade through your console")
class Meta:
model = models.Store
为了更加清晰,检查员在元素上看起来像什么
<div class="select-wrapper"><span class="caret">▼</span>
<input type="text" class="select-dropdown" readonly="true" data-activates="select-options-2de779c1-46cd-3271-5da4-889766247340" value="Silver"><select id="id_subscriber_status" name="subscriber_status" class="initialized">
<option value="-1">Inactive</option>
<option value="0">Free</option>
<option value="1" selected="selected">Silver</option>
<option value="2">Gold</option>
<option value="3">Platinum</option>
</select></div>
不知道为什么readonly是真的,因为我没有这样做。我已经摆弄了控制台中的每个attr,并尝试添加z-index和overflow这样的样式,但仍然没有。
由于
答案 0 :(得分:1)
也许这会对你有所帮助。
class StoreForm(forms.Form):
class Meta:
model = models.Store
fields = ['name','store_size','subscriber_status']
widgets = {
'name':forms.TextInput(attrs={'placeholder': 'Name'}),
'store_size':forms.SelectMultiple(choices = models.SIZE_CHOICES,attrs={'multiple':'multiple','data-placeholder': 'Select Size'}),
'subscriber_status':forms.SelectMultiple(choices = models.SUBSCRIBER_LEVEL,attrs={'multiple':'multiple','data-placeholder': 'Select Status'})
}