<tbody id="dailysale_tbody">
<tr class="items">
<td><select id="items_select" name="dailysale[luitem_id]"><option value=""></option></select></td>
<td><select id="brands_select" name="dailysale[lubrand_id]"><option value=""></option></select></td>
<td><select id="models_select" name="dailysale[lumodel_id]"><option value=""></option></select></td>
<td><input class="texts" id="dailysale_qty" name="dailysale[qty]" type="text" /></td>
<td><input class="texts" id="dailysale_price" name="dailysale[price]" type="text" /></td>
<td><input class="texts" id="dailysale_total" name="dailysale[total]" type="text" /></td>
<td><input type="checkbox" class="delete_row"></td>
</tr>
Wie jede Tabellenzeile indipendently auf keyup
$(function() {
$('#dailysale_qty, #dailysale_price').keyup(function() {
var last_item = $('.items').find('#dailysale_qty');
var qty = last_row.find('#dailysale_qty').val();
var price = last_row.find('#dailysale_price').val();
var sub_total = last_row.find('#dailysale_total');
var s_total = qty * price;
if (isNaN(s_total)) {
sub_total.val('0');
}
else
sub_total.val(s_total);
});
});
Ich bin in der Lage berechnen Berechnungen auf dieser Zeile durchzuführen. Wenn ich jedoch dynamisch Zeilen mit jquery hinzufüge, funktionieren die Berechnungen für die anderen Zeilen nicht.
Wenn die Berechnungsfunktion eine Schaltfläche onclick binden, funktioniert alles gut. Aber nicht auf Eingabe-Taste wie erforderlich. Ich möchte Berechnungen auf der neuen hinzugefügten Reihe mit onkeyup auf qty
und price
Eingabefeldern durchführen.
Hinweis: Beim Klonen werden die id
s aus der aktuellen Zeile entfernt und der neuen Zeile als Referenz zugewiesen.
Ihr keyup Event-Handler wird nicht automatisch dynamisch zugewiesenen Zeilen zugewiesen, siehe [this] (http://stackoverflow.com/questions/203198/event-binding-on-dynamically- created-elements). Auch sollten Sie Klassen anstelle von IDs verwenden, weil ... was @Gerardo gerade gepostet hat – James
Sie müssen den Handler manuell hinzufügen, nachdem Sie die neue Zeile eingefügt haben und Sie sollten nicht die gleiche ID auf mehreren Elementen haben. – Gerardo
Haben Sie versucht, etwas wie $ ('. Elemente'). On ('keyup ändern', 'td', function() {und hier die Ausführung}? –