2016-09-08 57 views
0

我有一个Django窗体渲染模式。名称字段可以正常工作,但即使他们有活动类,2个选择字段也会显示选项。materialize modal select not displayed

<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> 

什么不知道为什么只读是真的,因为我没有设置它是如此。我已经摆弄了控制台中的每个attr,并尝试添加类似z-index和overflow的样式,但仍然没有任何结果。

谢谢

回答

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'}) 
     }