如果选中单选框,则将值添加到合计

add value to total if radio box checked

本文关键字:添加 单选框 如果      更新时间:2023-09-26

这个脚本中有一些东西不起作用。当勾选一个单选按钮时,我需要在总价中添加金额。这做得很好,但如果我检查不同的单选按钮,它会广告所有的按钮。如果我总共=100美元;和button1=10$,button2=10$,button_3=10$如果我检查所有3…我将得到总额=130$,而不是110$

function calculateTotal(payment)
{
    var check=document.getElementById("check").value;
    var city = document.getElementsByName('loc');
    var value= payment.value;
    var total= document.getElementById("totl").value;
    var tcharge;
    var pvcharge=document.getElementById("ch").value;
    if(value==0 && check==0)
    return;
    if(value==0 && check==1)
    {
        total= parseFloat(parseFloat(total)-parseFloat(pvcharge)).toFixed(2);
        tcharge=0;
    }else
    {
    if(total>=200)
    return;
    if(value=='online' || value =='transfer_bancar' || value=='cash' || value == 'la_sediul_nostru')
        {
            if(city[0].checked)
            {
            total= parseFloat(parseFloat(total)+15.0).toFixed(2);
            tcharge=15.00;
            }
            else
            if(city[1].checked)
            {
            total= parseFloat(parseFloat(total)+30.0).toFixed(2);
            tcharge=30.00;
            }
        }
        else
        if(value='la_expeditor')
        {
        if(city[0].checked)
            {
            total= parseFloat(parseFloat(total)+30.0).toFixed(2);
            tcharge=30.00;
            }
            else
            if(city[1].checked)
            {
            total= parseFloat(parseFloat(total)+60.0).toFixed(2);
            tcharge=60.00;
            }
        }
        }
        document.getElementById("tot").innerHTML=total+" LEI";
        document.getElementById("totl").value=total;
        document.getElementById("amt").value=total;
        document.getElementById("tcharge").innerHTML=tcharge+" LEI";
        document.getElementById("check").value=1;
        document.getElementById("ch").value=tcharge;
}

无线电箱

    <tr>
        <td colspan="2">&nbsp;&nbsp;<input type="radio" name="payment" value="online" id="online" onClick="calculateTotal(this); return empty();" /> <span class="fontext"><b>asdadasdad</b></span></td>                
    </tr>
    <tr>
        <td colspan="2">&nbsp;&nbsp;<input type="radio" name="payment"  value="transfer_bancar" id="bancar" onClick="calculateTotal(this); return bancarval();" /> <span class="fontext"><b>asdadadadasd</b></span></td>                
    </tr>
    <tr>
        <td colspan="2">&nbsp;&nbsp;<input type="radio" name="payment"  value="cash" onClick="calculateTotal(this);return empty();" /> <span class="fontext"><b>asdadadadadad</b></span></td>                
    </tr>
    <tr>
        <td colspan="2">&nbsp;&nbsp;<input type="radio" name="payment" value="la_expeditor" onClick="calculateTotal(this); return empty();" /> <span class="fontext"><b>asdadasdadad</span></td>        </tr>
    <tr>
        <td colspan="2">&nbsp;&nbsp;<input type="radio" name="payment" value="la_sediul_nostru" onClick="calculateTotal(this); return empty();" /> <span class="fontext"><b>asdadasdad</b></span></td>                
    </tr>
   <tr>
   <tr>
        <td colspan="2">&nbsp;&nbsp;<input type="radio" name="payment" value="0" onClick="calculateTotal(this); return empty();" /> <span class="fontext"><b>asdasdasd</b></span></td>        </tr>
   <tr>
        <td><span class="fontext"><b>Cost transport: </b></span></td> <td><span class="fontext" ><b id="tcharge">0.00 LEI</b></span></td>       </tr> 

和php

if($Tott<200)
if(isset($_POST['loc']))
{
$tcharges=$_POST['loc'];
        if(isset($_POST['payment']))
        {
            $payment=$_POST['payment'];
            if($payment!=0)
          if($payment=='online' || $payment =='transfer_bancar' || $payment=='cash' || $payment == 'la_sediul_nostru')
            {
                if($tcharges=='in')
                    $Tott+=15;
                    else
                    $Tott+=30;
            }else
            if($payment=='la_expeditor') 
            {
                if($tcharges=='in')
                    $Tott+=30;
                    else
                    $Tott+=60;
            }

        }
}

每次,您都会对上一次计算的总和进行运算。

下线:

    var total= document.getElementById("totl").value;

相反,将其更改为根据原始的、干净的值进行操作。