2016-11-23 6 views
-4

Alles funktioniert gut auf meinem Code, bis ich einen Wert für den Versand eingeben, der mit dem Ergebnis anstelle der Addition verkettet wird.Nummer verkettet anstatt hinzugefügt zu werden

function subtotal(){ 
    var a,b = 0; 
    var row = $('#tbody tr').not(':first-child').length; 
    for(i=0;i <= row;i++){ 
     a = parseFloat($('#i-total'+i).val()); 
     b += a; 
    } 
    $('#sub-total').val(parseFloat(Math.round(b * 100)/100).toFixed(2)); 
    $('#sub-total').attr('value',parseFloat(Math.round(b * 100)/100).toFixed(2)); 

    var dis = $('#disc-val').val(); 
    $('#disc-val').attr('value',dis); 
    var tax = $('#tax').val(); 
    $('#tax').attr('value',tax); 
    if(tax == '' || dis == ''){ 
     tax = 0; 
     tax = parseFloat(tax); 
     dis = 0; 
     dis = parseFloat(dis); 
    } 
    var stat1 = $('#disc-val').attr('data-stat'); 
    if(stat1 === 'on'){ 
     b = b-(b*dis/100); 
     // console.log('disc%'+z); 
    } 
    else if(stat1 === 'off'){ 
     b = b - dis; 
     // console.log('disc'+y);  
    } 
    var stat2 = $('#tax').attr('data-stat');  
    if(stat2 === 'on'){ 
     b = (b*tax/100)+b; 
    } 
    else if(stat2 === 'off'){ 
     b = b + tax; 
    } 

    var ship = $('#shipping-val').val();  
    $('#shipping-val').attr('value',ship); 
    if(ship == ''){ 
     ship = 0; 
     ship = parseFloat(ship); 
    } 

    b = (ship + b);  

    $('#whole-total').attr('value', b); 
} 
+0

Wie wir dies ausführen? Bitte nur den relevanten Code eingeben ... – Rayon

+1

'var tax = parseFloat ($ ('# tax'). Val()) || 0; ' – Satpal

+0

Klingt so, als würden Sie 'string' + Nummer hinzufügen. Versuchen Sie '+ 'somestring' + num'. –

Antwort

0

try unten Art und Weise zu verwenden

if(ship == ''){ 
 
     ship = 0; 
 
     ship = parseFloat(ship); 
 
    } 
 

 
    b = parseFloat(ship) + parseFloat(b);

0

Die Variable ship ist eine Zeichenfolge, wenn sie nicht leer ist.

Sollte dies

if(ship == ''){ 
    ship = 0; 
    ship = parseFloat(ship); 
} 

sein

if(ship == ''){ 
    ship = 0; 
} else { 
    ship = parseFloat(ship); 
} 
0

Schiffswert mi shandled hier:

var ship = $('#shipping-val').val();  
$('#shipping-val').attr('value',ship); 
if(ship == ''){ 
    ship = 0; 
    ship = parseFloat(ship); 
} 


if(ship == ''){ 
    ship = 0; 
} 
else{ 
    ship = parseFloat(ship); 
} 

oder es kann sein, wie

var ship = $('#shipping-val').val();  
$('#shipping-val').attr('value',ship); 
if(ship == ''){ 
    ship = 0; 
} 

var ship = $('#shipping-val').val();  
$('#shipping-val').attr('value',ship); 
if(ship == ''){ 
    ship = 0; 

} 


ship = parseFloat(ship); // out of conditional statement 
Verwandte Themen