2010-10-13 4 views
9

Ich habe ein Formular mit einem Datumsauswahl. Der Datepicker hat eine benutzerorientierte D/M/Y-formatierte Datepicker-Eingabe und ein verdecktes AltField, das zur Verwendung mit der DB verwendet wird.jQuery UI Datepicker - Löschen der AltField, wenn das primäre Feld gelöscht wird

Wenn der Benutzer den Text im Eingabefeld löscht, wird auch das AltField nicht gelöscht.

Ich verwende das unten JS, um dieses Problem zu umgehen. Gibt es einen korrekeren Weg dies zu tun oder ist es vollkommen akzeptabel?

$("#datePicker").change(function(){ 
    if ($(this).val().length < 1){ 
     $("#dateAltField").val(''); 
    } 
}); 
+1

gab es einen zu diesem Thema gefüllt Bug? weil ich immer noch sehe, dass es nicht repariert wurde .. – tXK

+0

In der Tat ... wo sind die upvotes dazu? – Potatoswatter

Antwort

13

Was Sie Werke haben ganz gut und ist ein brauchbares Konzept, alternativ etwas kürzer:

$("#datePicker").change(function(){ 
    if (!$(this).val()) $("#dateAltField").val(''); 
}); 
1

Nach diesem bug ticket es kein Fehler, es ist ein Feature.

Ich benutze dies als Abhilfe:

var $input = $('#myInput'); 
$input.dateinput(); 

// This is the main part: 
$input.on('change', function(){ 
    if (!$input.val()) $input.data('datepicker').settings['altField'].val(''); 
});