2016-05-19 4 views
0

Ich versuche, die Datumsauswahl von materialize auf einem Klickereignis zu öffnen. Hier ist mein jspMaterialize Date Picker geöffnet bei Ereignis

<div class="input-field col s12 m12 l12"> 
<input id="birthdate" type="date" class="datepicker" name="birthdate"> 
<label for="birthdate">Birthdate</label> 
</div> 

<div id="birthdate-icon" class="cursor-pointer"> 
    <i class="material-icons">today</i> 
</div> 

Für meinen Skript:

$(document).ready(function(){ 
    $('.datepicker').pickadate({ 
     selectMonths: true, 
     selectYears: 150, 
     format: 'yyyy-mm-dd', 
     min: new Date(1900,1,1), 
     max: true 
    }); 

    initBindings(); 
}); 

function initBindings(){ 
    $('#birthdate-icon').click(function(){ 
     $('#birthdate').click(); 
    }); 
} 

Das Problem ist, dass die Datumsauswahl öffnet nicht, wenn ich auf das Symbol bin klicken.

+0

Funktioniert der direkte Klick auf das Eingabefeld? –

+0

ja, es funktioniert gut –

+0

Können Sie das Click-Ereignis direkt in der Funktion ready registrieren, statt Aufruf einer initBindings-Funktion. Überprüfen Sie, ob das funktioniert. –

Antwort

1

In Ihrem Skript, müssen Sie Ereignis

$(document).ready(function(){ 
     $('#birthdate').click(function(){ 
     $('.datepicker').pickadate({ 
      selectMonths: true, 
      selectYears: 150, 
      format: 'yyyy-mm-dd', 
      min: new Date(1900,1,1), 
      max: true 
     }); 
    }); 

     initBindings(); 
    }); 

    function initBindings(){ 
     $('#birthdate-icon').click(function(){ 
      $('#birthdate').click(); 
     }); 
    } 

Wenn Sie auf birthdate-icon, wird es machen einen Klick auf birthdate und das Skript für datepicker aufgerufen wird registrieren, klicken Sie.