Ich bin noch ziemlich neu bei jQuery und versuche, Möglichkeiten zu finden, um meinen Code zu optimieren. Ich arbeite gerade an einer Anwendung, in der ich jedes Mal, wenn jemand ein Feld verlässt (.blur), einige Berechnungsmethoden anrufe. Ich möchte diese Methoden nur aufrufen, wenn bestimmte Kriterien erfüllt sind (zB Wert! = 0). Ich habe 9 Felder, in denen ich gerade kalkuliere und überprüfe.Wie kondensiere ich mehrere jQuery-Funktionen in einem?
$(document).ready(function() {
var currentValue = {};
$("#txtValue1").focus(function() {
currentValue = $(this).val();
}
).blur(function() {
$("#txtValue1").valid();
if (currentValue != $("#txtValue1").val() && $("#txtValue1").val() != "") {
CallCalculations();
}
});
$("#txtValue2").focus(function() {
currentValue = $(this).val();
}
).blur(function() {
$("#txtValue2").valid();
if (currentValue != $("#txtValue2").val() && $("#txtValue2").val() != "") {
CallCalculations();
}
});
});
function CallCalculations() {
// Do Stuff
};
Ich weiß, es ist möglich, diese Funktionen nach unten in eine allgemeinere ein (mit einer CSS-Klasse als Selektor anstelle einer ID) zu kondensieren, aber ich kann es einfach nicht scheinen, um herauszufinden, wie ich bin immer noch Neu bei jQuery/Javascript im Allgemeinen. Jede Hilfe würde sehr geschätzt werden. Vielen Dank!
Sie können den 'currentValue' als Objekt instanziieren ('var currentValue = {} ') und einfach' var currentValue; ' –
Danke für die Klarstellung dort. Ich werde die zusätzliche Instanziierung sicher entfernen. – Delebrin