2016-11-23 2 views
-4

Все работает нормально в моем коде, пока я не введу значение для отправки, которое оно объединяется с результатом вместо добавления.Число конкатенаций вместо того, чтобы быть добавленным

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

Как мы выполняем это? Просьба поставить только соответствующий код ... – Rayon

+1

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

+0

Похоже, вы пытаетесь добавить 'string' + number. Попробуйте '+ 'somestring' + num'. –

ответ

0

пытаются использовать ниже образом

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

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

0

Переменная ship - это строка, если она не пустая.

Если это

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

быть

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

Корабль значение мили shandled здесь:

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); 
} 

или это может быть как

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 
Смежные вопросы