2016-04-28 3 views
1

Was ich versuche zu tun, ist nur diese Funktion aufrufen, sobald das Dokument geladen hat, sondern auch immer wenn einige der Elemente Werte geändert werden. Ich war am Wandern, wenn es eine Möglichkeit gibt, dies zu tun, ohne das gleiche Stück Code zweimal für document.ready() Ereignis und document.change() zu schreiben.Wie schreibe ich eine einzelne Jquery-Funktion, um bei Dokumentenwechsel und bereit Ereignisse auslösen

$(document).on("change", "#holiday-editor input[name=StartDate],input[name=EndDate]", function() { 
    that.UpdateDays(); 
    if ($("#holiday-editor input[name=StartDate]").val() == $("#holiday-editor input[name=EndDate]").val() && $("#holiday-editor input[name=StartDate]").val() + $("#holiday-editor input[name=EndDate]").val() != "") { 
     $("#IsHalfDay").show(); 
    } else { 
     $("#IsHalfDay").hide(); 
     $("input[name=HalfDay]").removeAttr("checked"); 
     $("#amPM").hide(); 
     $("#HalfDayAP").val(""); 
    } 
}); 

Was ich im Grunde brauchen, ist diese Funktion ausführen und prüfen bereits Werte im Formular vorhandenen, bevor sie umziehen.

Antwort

1

Verwendung wie folgt aus:

var changeFn = function() { 
    that.UpdateDays(); 
    if ($("#holiday-editor input[name=StartDate]").val() == $("#holiday-editor input[name=EndDate]").val() && $("#holiday-editor input[name=StartDate]").val() + $("#holiday-editor input[name=EndDate]").val() != "") { 
     $("#IsHalfDay").show(); 
    } else { 
     $("#IsHalfDay").hide(); 
     $("input[name=HalfDay]").removeAttr("checked"); 
     $("#amPM").hide(); 
     $("#HalfDayAP").val(""); 
    } 
}; 

$(document).on("change", "#holiday-editor input[name=StartDate],input[name=EndDate]", changeFn); 

und Sie können die changeFn() rufen auch ready oder wann immer Sie wollen.

Verwandte Themen