Ich bin ein Java-Programmierer, der versucht, ein wenig javaScript zu schreiben. Trage mit mir.jQuery-Fehler "kann Eigenschaft 'Aufruf' von undefined nicht lesen"
Ich möchte eine Funktion, die eine Summe aktualisiert, wenn eine Ziffer in einem der Eingabefelder in einer Tabelle eingegeben wird. Ich habe die folgende Zeile in $(document).ready(function() { ... }
$("#lineCountTable").find('input').each().bind('keyup', function() {
updateTotal(this);
});
In Chrome Debug-Fenster, die ich erhalten:
Uncaught TypeError: cannot read property 'call' of undefined". The line number pointed to is jQuery-1.8.2.js:611.
Ich denke, ich einen Syntaxfehler haben die Funktion, bei der Definition genannt werden. Die Funktion updateTotal(inputVar)
wird später in der JS-Datei ordnungsgemäß definiert; falls jemand interessiert, ist es:
function updateTotal(inputVar) {
var row = inputVar.closest('tr');
var lineCharge = row.find("dlsRowCharge").html().trim();
var total = 0.0
var lineCount = inputVar.val();
if (isNumeric(lineCount)) {
total = math.abs(lineCount * lineCharge).toFixed(2);
row.children(".dlsRowTotal").html("$ " + total);
}
}
Ich weiß, dass diese Funktionen in der Regel inline gestellt werden; Ich würde sie lieber getrennt definieren und nennen, wenn das nicht unmöglich ist.
Entfernen der leeren 'each()' und Verwendung 'on()' statt ' bind() ' –
Funktionsparameter zu' $ .fn.each() 'ist obligatorisch und trotzdem macht die Verwendung von' .each() 'keinen Sinn –
Also' on() 'funktioniert auf jedem Mitglied des zurückgegebenen Arrays ? – arcy