Как рассчитать цены в javascript после удаления входных строк?

#javascript #jquery

#javascript #jquery

Вопрос:

Я знаю, это звучит смешно, но мне нужно рассчитать цены моего счета после удаления строки. Я следил за javascript-частью руководства по php из Weblesson Invoice. Это мой код javacript для удаления:

 $(document).on('click','.remove_row',function(){
  var row_id = $(this).attr("id");
  var total_service_amount = $('#quote_service_actual_amount' row_id).val();
  var sub_amount = $('#subtotal_amount').text();
  var tax_rate = $('#tax_rate').text();
  var tax_amount = $('#tax_amount').text();
  var final_amount = $('#final_total_amt').text();
  var result_amount = parseFloat(final_amount) - parseFloat(total_service_amount);
  $('#final_total_amt').text(result_amount);
  $('#row_id_' row_id).remove();
  count = count - 1;
  $('#total_service').val(count);
});
 

И это для вычисления при добавлении строк:

  function cal_final_total(count){
  var final_service_total = 0;
  var subtotal = 0;
  var tax_rates = 0;
  var tax_amt = 0;
  for(j=1; j<=count; j  )
  {
    var hours = 0;
    var rates = 0;
    var actual_amount = 0;

    rates = $("#quote_service_rates" j).val();
    if(rates > 0){
      hours = $("#quote_service_hours" j).val();
      if(hours > 0){
        actual_amount = parseFloat(rates) * parseFloat(hours);
        $("#quote_service_actual_amount" j).val(actual_amount);
      }
    }
  }

  //Calculate subtotal
  $(".quote_service_actual_amount").each(function(){
    subtotal  = parseFloat($(this).val());
    // subtotal -= parseFloat($(this).val());
  });
  $("#subtotal_amount").val(subtotal.toFixed(2));

  //Calculate tax total
  tax_rates = $("#tax_rate").val();
  if(tax_rates > 0){
    tax_amt = parseFloat(tax_rates)/100 * parseFloat(subtotal);
    $("#tax_amount").val(tax_amt.toFixed(2));
  }

  //Calculate final amount
  final_service_total = parseFloat(subtotal)   parseFloat(tax_amt);
  $("#final_total_amt").val(Math.round(final_service_total * 100)/100);
}
 

Моя структура таблицы:

 <table id="quote_service_table" class="table table-bordered" name="serviceTable">
                <tr>
                  <th>Sr No.</th>
                  <th>Service</th>
                  <th>Description</th>
                  <th>Service Rates(RM)</th>
                  <th>Hours</th>
                  <th>Total Amount(RM)</th>
                  <th></th>
                </tr>
                <tr id="row_id_1">
                  <td>
                    <span id="quote_sr_no" name="quote_sr_no">1</span>
                  </td>
                  <td>
                    <input type="text" name="quote_service_type[]" autocomplete="off" id="quote_service_type1" class="form-control input-sm quote_service_type" list="type" required/>
                    <!-- <datalist id="type">
                    </datalist> -->
                  </td>
                  <td>
                    <input type="text" name="quote_service_description[]" autocomplete="off" id="quote_service_description1" list="descript" class="form-control input-sm quote_service_description" required/>
                    <!-- <datalist id="descript">
                    </datalist> -->
                  </td>
                  <td>
                    <input type="text" name="quote_service_rates[]" autocomplete="off" data-srno="1" id="quote_service_rates1" class="form-control input-sm number_only quote_service_rate" required/>
                    <!-- <datalist id="rate">
                    </datalist> -->
                  </td>
                  <td>
                    <input type="text" name="quote_service_hours[]" autocomplete="off" data-srno="1" id="quote_service_hours1" class="form-control input-sm number_only quote_service_hours" list="hour" required/>
                    <!-- <datalist id="hour">
                    </datalist> -->
                  </td>
                  <td>
                    <input type="text" name="quote_service_actual_amount[]" autocomplete="off" data-srno="1" id="quote_service_actual_amount1" class="form-control input-sm number_only quote_service_actual_amount" required readonly />
                  </td>
                  <td></td>
                </tr>
              </table>
              <div align="right">
                <input type="button" id="add_row" name="add_row" class="btn btn-success btn-xs" value=" "/>
              </div>
            </td>
          </tr>
          <tr align="right">
            <td><label style="display:flex;justify-content:flex-end;text-align:right;width:600px" for="subtotal_amount">Subtotal:</td></td>
            <td>
              <input type="text" id="subtotal_amount" name="subtotal_amount" class="form-control number_only input-sm subtotal_amount" readonly/>
            </td>
          </tr>
          <tr align="right">
            <td><label style="display:flex;justify-content:flex-end;text-align:right;width:600px" for="tax_rate">Tax Rate(%):</td>
            <td>
                <input type="text" id="tax_rate" name="tax_rate" class="form-control number_only input-sm tax_rate" value="5" readonly/>
            </td>
          </tr>
          <tr align="right">
            <td><label style="display:flex;justify-content:flex-end;text-align:right;width:600px" for="tax_amount">Tax Total:</td>
            <td>
              <input type="text" id="tax_amount" name="tax_amount" class="form-control number_only input-sm tax_amount" readonly/>
            </td>
          </tr>
          <tr align="right">
            <td><label style="display:flex;justify-content:flex-end;text-align:right;width:600px" for="final_total_amt"><b>Estimated Total: RM</b></td></td>
            <td>
              <input type="text" id="final_total_amt" name="final_total_amt" class="form-control number_only input-sm final_total_amt" readonly/>
            </td>
          </tr>
          <tr>
            <td colspan="2"></td>
          </tr>
 

Теперь, вычисляя, чтобы добавить общее количество, у меня нет проблем, но с вычитанием у меня проблемы. Я думал об игнорировании этой проблемы, но она не давала мне покоя. Любая помощь приветствуется.

Таблица счетов-фактур

Комментарии:

1. Не могли бы вы предоставить свою структуру таблицы, которая будет очень проста в предоставлении решения

2. Я не думаю, что вам нужно делать столько, сколько вы делаете, прямое решение — связать имя класса со всеми TD, которые должны быть одинаковыми. затем вы можете получить все td с именем класса, просто добавив значения этого