sto cercando di fare alcuni calcoli per un "totale parziale", questo è il mio codice:Utilizzando un nome di classe in di jQuery .closest()
$('.quantity_input').live('change',function(){
var ValOne = parseFloat($(this).val());
var ValTwo = parseFloat($(".price").text())
var totalTotal = ((ValOne) * (ValTwo));
$('.cost_of_items').closest('.cost_of_items').text(totalTotal.toFixed(2));
calcTotal();
});
.quantity_input è un input, è il .price prezzo del prodotto, .cost_of_items è dove voglio aggiornare il costo totale dell'articolo, es. item1 = £ 5 x 3 quantità = £ 15 totali per articolo1 calcTotal() è una funzione che aggiorna solo un costo totale per l'ordine. Il problema è mantenere tutti i calcoli in una riga della tabella, cioè sto facendo il calcolo nel codice sopra e non si attacca alla sua riga, il suo aggiornamento di tutti i campi con classe .cost_of_items ecc ...
il problema di mostrare il mio html è che il suo aggiunto dinamicamente da .appends jQuery(), ma qui è la rilevante jQuery:
$('#items').append('<tr class="tableRow"><td><a class="removeItem" href="#"><img src="/admin/images/delete.png"></img></a><td class="om_part_no">' + omPartNo + '</td><td>' + supPartNo + '</td><td>' + cat + '</td><td class="description">' + desc + '</td><td>' + manuf + '</td><td>' + list + '</td><td>' + disc + '</td><td><p class="add_edit">Add/Edit</p><input type="text" class="quantity_input" name="quantity_input" /></td><td class="price_each_nett price">' + priceEach + '</td><td class="cost_of_items"></td><td><p class="add_edit">Add/Edit</p><input type="text" class="project_ref_input" name="project_ref_input" /><p class="project_ref"></p></td></tr>');
EDIT:
soluzione di lavoro:
$('.quantity_input').live('change',function(){
var ValOne = parseFloat($(this).val());
var ValTwo = parseFloat($(this).closest('tr').find('.price').text())
var totalTotal = ((ValOne) * (ValTwo));
$(this).closest('tr').find('.cost_of_items').text(totalTotal.toFixed(2));
calcTotal();
});
La linea qui che sembra sbagliato è '$ ('. Cost_of_items ') più vicino ('. cost_of_items') '. Puoi mostrarci anche il tuo HTML? – lonesomeday
Tutte le parentesi in ((ValOne) * (ValTwo)) non fanno assolutamente nulla. –
@user - Manca un tag di chiusura ' nel tuo' .append() '. – user113716