first, think about how to create your own html as such:
<tr> <td> <input type="number" name="qty[]" placeholder="qty"/> </td> <td> <input type="number" name="price[]" placeholder="price"/> </td> <td> <input type="number" name="total[]" placeholder="Total"/> </td> </tr>
Besides. While javascript goes:
jQuery(document).on("change , keyup" , "input[name='qty[]'] , input[name='price[]']" ,function(){ var parent_element = jQuery(this).closest("tr"); var qty = jQuery(parent_element).find("input[name='qty[]']").val(); var price = jQuery(parent_element).find("input[name='price[]']").val(); if( qty.trim() != "" && price.trim() != "") { jQuery(parent_element).find("input[name='total[]']").val( parseFloat(qty) *parseFloat(price) ); } else { jQuery(parent_element).find("input[name='total[]']").val(""); } });
EDIT: best approach, given empty fields correctly
source share