2017-07-17 39 views
0

我想乘以service_cost * service_days的值,但service_cost和service_days是動態的,可能會重複多次。之後,我想計算所有乘法結果的總和並將其分配給小計文本框。如何從動態文本框乘以和計算值?

<div class="form-group"> 
    <label for="place" class="col-sm-2 control-label">Services</label> 
    <div class="col-md-10" id="check" style="padding-left: 0px !important;"> 
     <?php 
      $sql = "SELECT * FROM service_ipd ORDER BY service_id ASC"; 
      $q = $pdo->query($sql); 
      while($row = $q->fetch(PDO::FETCH_ASSOC)) 
      { 
     ?> 
     <div class="col-sm-5" style="margin-bottom:10px;"> 
      <div class="input-group date"> 
       <div class="input-group-addon"> 
        <input type="checkbox" value="<?php echo $row['service_id']; ?>" name="service[]" id="service"> 
       </div> 
       <input type="place" class="form-control" name="" id="" placeholder="" value="<?php echo $row['service_name']; ?>" disabled="true"> 
      </div> 
     </div> 
     <div class="col-sm-2"> 
      <div class="input-group"> 
       <input type="text" class="form-control" name="service_cost[]" id="service_cost" value="<?php echo $row['service_cost']; ?>" placeholder="" readonly> 
      </div> 
     </div> 
     <div class="col-sm-2"> 
      <div class="input-group"> 
       <input type="text" class="form-control" name="service_days[]" id="service_days" placeholder=""> 
      </div> 
     </div> 
     <div class="clearfix"></div> 
     <?php } ?> 
    </div> 
</div> 
<input type="name" class="form-control" name="invoice_generation_date" id="sub_total" placeholder="Sub Total"> 

什麼是最佳解決方案?請幫忙。

+0

要計算在PHP或JavaScript值是多少? –

+0

@LoïcFaure-Lacroix:在javascript中,我想要顯示它的運行時 – swap

回答

0

考慮一下:

<input name='items[1][service_day]'> 
<input name='items[1][service_cost]'> 
<!-- and for second item: --> 
<input name='items[2][service_day]'> 
<input name='items[2][service_cost]'> 

現在,您可以遍歷項目,它是一個包含service array

$total = 0; 
foreach($_POST['items'] as $item){ 
     $multiply = $item['service_day'] * $item['service_cost']; 
     $total += $multiply; 
} 
0

首先的array,你不應該創建具有相同多個輸入ID。我會爲每個輸入ID添加一個索引或其他內容。 如果你使用jQuery你可以用這樣的嘗試:

$(document).ready(function() { 
    var total = 0; 
    $.each($('input[name=service_cost[]]'), function(k, cost){ 
     $.each($('input[name=service_days[]]'), function(k, day){ 
     total += $(cost).val() * $(day).val(); 
     }); 
    }); 
    $('#sub_total').val(total); 
}; 

或者你可以使用PHP藏漢:

$sql = "SELECT * FROM service_ipd ORDER BY service_id ASC"; 
$q = $pdo->query($sql); 
$total = 0; 
while($row = $q->fetch(PDO::FETCH_ASSOC)){ 
    $total += $$row['service_cost'] * $row['service_day']; 
} 

<input type="name" class="form-control" name="invoice_generation_date" id="sub_total" value="<?= $total ?>" placeholder="Sub Total">