Ich habe eine Funktion, die Änderungsereignisse für Formularelemente basierend auf dem Zeilennamen hinzufügt (verwendet die Datenbank, um diese zu erhalten).Minimieren Sie die jQuery-Funktion
Heres die aktuelle Funktion:
$sql = "SELECT * FROM product WHERE storeno = '1' ORDER BY descript";
$result = mssql_query($sql, $msConnection);
if ($result && mssql_num_rows($result) > 0) {
while ($row = mssql_fetch_object($result)) {
$sku = trim($row->mas90sku);
$JQueryReadyScripts .= "
$('#newCount_" . $sku . "_row .cases').change(function() {
var count = 0;
$('#newCount_" . $sku . "_row .cases').each(function() {
count += parseFloat($(this).val());
});
$('#cases_total_" . $sku . "').text(count);
});
$('#newCount_" . $sku . "_row .units').change(function() {
var count = 0;
$('#newCount_" . $sku . "_row .units').each(function() {
count += parseFloat($(this).val());
});
$('#units_total_" . $sku . "').text(count);
});";
}
mssql_free_result($result);
}
Wie kann ich dies in einen Aufruf konsolidieren, die so jede Zeile beeinflusst, dass ich loswerden der DB Teil bekommen kann und nur noch 2 Stück (oder 1) von Code statt von 2 für jede Reihe.
Bei der Verwendung bekomme ich diesen Fehler: $ Elems ist nicht definiert – spyke01
@ spyke01 Whoops. Das ist jetzt behoben. – Tomalak
Ehrfürchtig, das ist genau das, was ich brauchte, danke, dass du mir etwas neues jQuery beigebracht hast! – spyke01