簡體   English   中英

從表輸入中獲取總數作為jquery中的總計

[英]Get total from table input as grand total in jquery

我有一個表自動進行2次計算:

  1. 從日歷兩個輸入日期字段中選擇開始日期和日期結束后的天數計算,結果存儲為字段(天)
  2. 3個字段的乘法(馬*天*價格),結果存儲在ind字段(總計)。 有一個按鈕,當我們點擊它時,會添加一個新行。

如何計算總天數總計的總數,以便在表格下方連續顯示結果 我想掌握post中的輸入值,以便我使用php將它們存儲在表中。

1-表

 <table class='table'>
<tr>
  <th class='th'>Nbr/horses</th>
  <th class='th'>dateStart</th>
  <th class='th'>dateEnd</th>
  <th class='th'>Nbr/days</th>
  <th class='th'>Price</th>
  <th class='th'>Total</th>
</tr>
<tr>
  <td class='td'><input type='number' min='1' name='horse' class='horse'/></td>
  <td class='td'><input type='date' name='dateStart' class='datepicker dateStart'/></td>
  <td class='td'><input type='date' name='dateEnd' class='datepicker dateEnd'/></td>
  <td class='td days'><input type='text' name='days'/>0</td>
  <td class='td'><input type='number' min='1' name='price' class='price'/></td>
  <td class='td total'> <input type='text' name='total1'/></td>
  <td class='td'><button type='button' class='button'>+</button></td>
</tr>

2-功能

 let update = function(lineNode){
let dateStart = $(lineNode).find('.dateStart').datepicker('getDate');
let dateEnd = $(lineNode).find('.dateEnd').datepicker('getDate');
let days = Math.floor( (dateEnd - dateStart) / (3600*24*1000) );
days = days >= 0 ? days : 0;

$( lineNode ).find('.days').text( days );

let horse = parseInt( $(lineNode).find('.horse').val() );
let price = parseInt( $(lineNode).find('.price').val() );
let total = horse * days * price;

$( lineNode ).find('.total').text( total+' €' );
 }

  // add line after click
  let addRow = function(lineNode){
   let clone = lineNode.cloneNode(true);
   $(clone).insertAfter(lineNode);
   reloadEffects();
   }

  let reloadEffects = function(){
  $('.hasDatepicker').removeClass('hasDatepicker').attr('id', '');

$('.datepicker').datepicker();
$('.horse, .price, .datepicker').change( e => {
  update(e.target.parentNode.parentNode);
});
$('.button').click( e => {
  addRow(e.target.parentNode.parentNode);
});

};

// Start

 reloadEffects();

總計

var sum = 0;
$(".total").each(function(index,value){
sum = sum + parseFloat($(this).find('input[name="total1"]').val());
});
//Sum in sum variable 
console.log(sum);

幾天都適用!

工作小提琴: 小提琴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM