Javascript 表中的总计

Javascript 表中的总计,javascript,php,jquery,Javascript,Php,Jquery,我有一个小问题,我希望计算Javascript函数中已经计算的top行的总数 javascript代码: function calculer(e){ var i = e.getAttribute('id').length; var input_identifier = e.getAttribute('id').substring(i-1,i); var subtotal = document.getElementById('subtotal'+input_identifier)

我有一个小问题,我希望计算Javascript函数中已经计算的top行的总数

javascript代码:

    function calculer(e){

 var i = e.getAttribute('id').length;
 var input_identifier = e.getAttribute('id').substring(i-1,i);
 var subtotal = document.getElementById('subtotal'+input_identifier)
 var quantity = e.value;
 var montant = document.getElementById('montant'+input_identifier);
 subtotal.textContent = ( parseFloat(quantity) * parseFloat(montant.value)).toFixed(2);
 CalculateTotal(e);
 return;
}
function CalculateTotal(e) {
        var subtotal = querySelectorAll('.subtotal');
        var subtotalCount = subtotal.length;
        var subtotalValue;
        var total = 0;
        for (var i = 0; i < subtotalCount; i++) {
            subtotalValue = Number(subtotal[i].textContent);
            if (!isNaN(subtotalValue)) total += subtotal;
        }
 subtotal.textContent = parseFloat(total).toFixed(2);
}
函数计算器(e){
var i=e.getAttribute('id')。长度;
变量输入_标识符=e.getAttribute('id')。子字符串(i-1,i);
var subtotal=document.getElementById('subtotal'+输入标识符)
var数量=e值;
var montant=document.getElementById('montant'+输入标识符);
subtotal.textContent=(parseFloat(数量)*parseFloat(montant.value)).toFixed(2);
计算总数(e);
返回;
}
函数计算器总计(e){
var小计=查询选择全部('.subtotal');
var小计=小计长度;
var小计值;
var合计=0;
对于(var i=0;i<小计;i++){
小计值=数量(小计[i].textContent);
如果(!isNaN(小计值))总计+=小计;
}
subtotal.textContent=parseFloat(total).toFixed(2);
}
而PHP:

<div id="contenu">
  <h2>Renseigner ma fiche de frais du mois <?php echo $numMois."-".$numAnnee ?></h2>

  <form method="POST"  action="index.php?uc=gererFrais&action=validerMajFraisForfait">
  <div class="corpsForm">

      <fieldset>
        <legend>Eléments forfaitisés
        </legend>
<table width=100%>
        <tr>
        <td>Libelle</td>
        <td>Nombre</td>
        <td>Montant unitaire</td>
        <td>Montant total</td>
    </tr>

莫伊斯广场酒店
福费迪斯酒店
水蜻蜓
名义
蒙大拿州
蒙塔特总数
?>
总数:

屏幕:

我试过这个:

    function calculer(e){

 var i = e.getAttribute('id').length;
 var input_identifier = e.getAttribute('id').substring(i-1,i);
 var subtotal = document.getElementById('subtotal'+input_identifier)
 var quantity = e.value;
 var montant = document.getElementById('montant'+input_identifier);
 subtotal.textContent = ( parseFloat(quantity) * parseFloat(montant.value)).toFixed(2);
 return;
}
function CalculateTotal(e) {
        var subtotal = querySelectorAll('.subtotal');
        var subtotalCount = subtotal.length;
        var subtotalValue;
        var total = 0;
        for (var i = 0; i < subtotalCount; i++) {
            subtotalValue = Number(subtotal[i].textContent);
            if (!isNaN(subtotalValue)) total += subtotal;
        }
 total.textContent = (parseFloat(total) + parseFloat(subtotalValue)).toFixed(2);
}
函数计算器(e){
var i=e.getAttribute('id')。长度;
变量输入_标识符=e.getAttribute('id')。子字符串(i-1,i);
var subtotal=document.getElementById('subtotal'+输入标识符)
var数量=e值;
var montant=document.getElementById('montant'+输入标识符);
subtotal.textContent=(parseFloat(数量)*parseFloat(montant.value)).toFixed(2);
返回;
}
函数计算器总计(e){
var小计=查询选择全部('.subtotal');
var小计=小计长度;
var小计值;
var合计=0;
对于(var i=0;i<小计;i++){
小计值=数量(小计[i].textContent);
如果(!isNaN(小计值))总计+=小计;
}
total.textContent=(parseFloat(总计)+parseFloat(小计值)).toFixed(2);
}

一个问题是,你需要使用“return CalculateTotal(e);”而不是将它们放在单独的行中。你需要在进行计算时使用parseFloat(some_value)+parseFloat(an_other_value),而不是在输出值时使用。我有答复无人?需要帮助:(
    function calculer(e){

 var i = e.getAttribute('id').length;
 var input_identifier = e.getAttribute('id').substring(i-1,i);
 var subtotal = document.getElementById('subtotal'+input_identifier)
 var quantity = e.value;
 var montant = document.getElementById('montant'+input_identifier);
 subtotal.textContent = ( parseFloat(quantity) * parseFloat(montant.value)).toFixed(2);
 return;
}
function CalculateTotal(e) {
        var subtotal = querySelectorAll('.subtotal');
        var subtotalCount = subtotal.length;
        var subtotalValue;
        var total = 0;
        for (var i = 0; i < subtotalCount; i++) {
            subtotalValue = Number(subtotal[i].textContent);
            if (!isNaN(subtotalValue)) total += subtotal;
        }
 total.textContent = (parseFloat(total) + parseFloat(subtotalValue)).toFixed(2);
}