2016-03-29 21 views
0

私はJade TemplateとMaterializeを使用してフォームを作成しています。 Materializeフォームの要素をSelectとFile Input Buttonとして問題なく使用していますが、Date Pickerではありません。Materialize datepickerがuiをトリガーしない

日付ピッカー要素は初期化されますが、入力がクリックされても何も起こりません。

マイフォルダ構造:

. 
|-- bower_components 
| |-- jquery 
| `-- Materialize 
|-- public 
| |-- javascripts 
| | `-- form.js 
|-- views 
| |-- devices 
| | |-- create.jade 
| | `-- index.jade 
| |-- mixins 
| | |-- form.jade 
| | |-- form 
| | | `-- materialize.jade 
| `-- layout.jade 

ルートがlayout.jadeform.jadeを呼び出しcreate.jade、に行きます。 layout.jadeの内部には<body>の前にjquery.js,materialize.jsおよびmaterialize.min.cssと呼ばれ、ブロックフッタースクリプトが作成されます。

create.jadeは、次のHTMLを出力します。私のselectdate pickerフィールドを初期化するために

<div class="container"> 
    <div class="row"> 
    <form method="post" action="/devices/inserir" class="col s12" enctype="multipart/form-data"> 
     <div class="row"> 
     <h4 class="col s12">Device</h4> 
     <div class="input-field col s12"> 
      <input type="text" name="title" id="title" class="validate"/> 
      <label for="title">Title</label> 
     </div> 
     <div class="input-field col s12"> 
      <select multiple="multiple" name="platform" id="platform"> 
      <option value="" disabled="disabled" selected="selected">Choose a platform</option> 
      <option value="PS4">Playstation 4</option> 
      <option value="PC">PC</option> 
      </select> 
      <label for="platform">Platform</label> 
     </div> 

     <!-- materialize select --> 
     <div class="col s12"> 
      <label for="birthdate">Birthdate</label> 
      <input type="date" id="birthdate" class="datepicker"> 
     </div> 


     <div class="file-field input-field col s12"> 
      <div class="btn"> 
      <span>File</span> 
      <input type="file"/> 
      </div> 
      <div class="file-path-wrapper"> 
      <input type="text" name="image" class="file-path validate"/> 
      </div> 
     </div> 
     <div class="col s12"> 
      <button type="submit" name="submit" class="btn waves-effect waves-light">Submit</button> 
     </div> 
     </div> 
    </form> 
    </div> 
</div> 

<!-- added in block footer-script --> 
<script type="text/javascript" src="/javascripts/form.js"></script> 

form.jsファイルは責任があります。ここでは、コードです:

form.js

jQuery(document).ready(function ($) { 
    $(document).ready(function() { 
    $('.datepicker').pickadate({ 
     selectMonths: true, // Creates a dropdown to control month 
     selectYears: 15 // Creates a dropdown of 15 years to control year 
    }); 
    $('select').material_select(); 
    }); 
}); 

そして、私のPrintScreenをショーとして、私のform.jsがうまく私のselect働くので、問題なく呼び出されます。

Materialize form

私はちょうどdatepicker要素をクリックすると何が起こっているのか知りたいのですが、どうすればこの問題を解決できますか?参考のため

Materialize forms: Date Picker

答えて

0

私はjQueryのファイルを変更し、私の問題を解決してきました。

私のシステムで使用するjQueryのバージョンは、jQueryのv2.2.1と日付にマテリアライズで使用することをお勧めバージョンはのjQuery 2.1.1あるました。

バージョンのマイナーチェンジでは機能しなくなるはずはありませんが、これは今の場合です。

関連する問題