2016-07-13 13 views
0

Ich arbeite an einer Webanwendung und versuchen, die Klasse bei Änderung zu diesem Eingabefeld zu ändern. Fast alle Eingabefelder funktionieren gut, anstelle von denen, in denen ich Datepicker benutzt habe.Auslöser Änderung am Eingang, wenn jQuery Datepicker Datum ausgewählt

Das Problem, was ich gegenüberstelle, ist, wenn ich ein Datum aus diesem Datum auswählen, zeigt die Werte in diesem Eingang, aber es löst nicht die "CHANGE" an diesem Eingang. Ich habe ‚onChange‘ Veranstaltung getan, indem Sie diese ...

$(document).ready(function() { 
    $('input').on("change", function() { 
     if($(this).val() != ''){ 
      $(this).parent().addClass("filled"); 
     } 
    }); 
}); 

Dies funktioniert gut, aber nicht mit picker. Ich habe eine Anzahl von Fragen zu 'onSelect' von datepicker gefunden, aber ich möchte das nicht für einen einzelnen tun. wie dieses ..

$('.custom_datepicker_selector').datepicker().on('changeDate', function(en{}); 

oder

$("#datepicker").datepicker({ 
    onSelect: function(dateText, inst) {} 
}); 

Diese sind die Aktualisierung nur für einzelne und mein Problem ist, um es für alle globalen zu machen. Ich möchte tun, als würde ich nicht jede einzelne Datepicker-Initialisierung ändern müssen.

Antwort

1

Verwenden onSelect Ereignis von picker zu erkennen, wenn die Eingangswertänderung, Versuchen:

$("#dp").datepicker({ 
    onSelect: function(dateText, inst) { 
     $(this).parent().addClass("filled"); 
    } 
}); 

Beispiel:

$(document).ready(function() { 
 
    $("#dp").datepicker({ 
 
     onSelect: function(dateText, inst) { 
 
      $(this).parent().addClass("filled"); 
 
     } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"> 
 
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 
 

 
<div> 
 
    <input type="text" id="dp"> 
 
</div>