2015-08-10 7 views
0

У меня есть некоторые входы, у которых есть нога/дюйм двух ширины и две высоты. Я должен преобразовать их во все стопы и получить квадратную метку. пример, ширина 1'2 "и высота 1'2". Другая ширина - 2'1 ", а высота - 2'1". Я должен преобразовать ширину в ногу, а затем увеличить ее высоту, а затем умножить первую ширину и высоту, а затем добавить к второй ширине и высоте. Кроме того, каждой стороне потребуется дополнение 1.6 умножения сверху. Я сделал это с первой шириной и высотой, но я решил сделать это, потому что второй дублирует, но не имеет большого представления о том, как наилучшим образом их объединить.Как я могу объединить эти два вычисления jquery?

У меня есть что-то подобное для моих JS

$('.total-footage').on('click', function(){ 
    /*Side A Calculation*/ 
    var $sideAFootValueW = parseInt($('.dimensions-side-a .dimension-width .dimension-input-foot').val()); 
    var $sideAInchValueW = parseInt($('.dimensions-side-a .dimension-width .dimension-input-inch').val()); 

    if(($sideAFootValueW == "") || (!$.isNumeric($sideAFootValueW))){ 
     $sideAFootValueW = 0; 
    } 

    if(($sideAInchValueW == "") || (!$.isNumeric($sideAInchValueW))){ 
     $sideAInchValueW = 0; 
    }else{ 
     $sideAInchValueW = $sideAInchValueW/12; 
    } 

    var totalFootAW = $sideAFootValueW + $sideAInchValueW; 

    var $sideAFootValueH = parseInt($('.dimensions-side-a .dimension-height .dimension-input-foot').val()); 
    var $sideAInchValueH = parseInt($('.dimensions-side-a .dimension-height .dimension-input-inch').val()); 

    if(($sideAFootValueH == "") || (!$.isNumeric($sideAFootValueH))){ 
     $sideAFootValueH = 0; 
    } 

    if(($sideAInchValueH == "") || (!$.isNumeric($sideAInchValueH))){ 
     $sideAInchValueH = 0; 
    }else{ 
     $sideAInchValueH = $sideAInchValueH/12; 
    } 

    var totalFootAH = $sideAFootValueH + $sideAInchValueH; 

    var sideATotal = totalFootAH * totalFootAW * 1.6; 

    /*Side B Calculation*/ 
    var $sideBFootValueW = parseInt($('.dimensions-side-b .dimension-width .dimension-input-foot').val()); 
    var $sideBInchValueW = parseInt($('.dimensions-side-b .dimension-width .dimension-input-inch').val()); 

    if(($sideBFootValueW == "") || (!$.isNumeric($sideBFootValueW))){ 
     $sideBFootValueW = 0; 
    } 

    if(($sideBInchValueW == "") || (!$.isNumeric($sideBInchValueW))){ 
     $sideBInchValueW = 0; 
    }else{ 
     $sideBInchValueW = $sideBInchValueW/12; 
    } 

    var totalFootBW = $sideBFootValueW + $sideBInchValueW; 

    var $sideBFootValueH = parseInt($('.dimensions-side-b .dimension-height .dimension-input-foot').val()); 
    var $sideBInchValueH = parseInt($('.dimensions-side-b .dimension-height .dimension-input-inch').val()); 

    if(($sideBFootValueH == "") || (!$.isNumeric($sideBFootValueH))){ 
     $sideBFootValueH = 0; 
    } 

    if(($sideBInchValueH == "") || (!$.isNumeric($sideBInchValueH))){ 
     $sideBInchValueH = 0; 
    }else{ 
     $sideBInchValueH = $sideBInchValueH/12; 
    } 

    var totalFootBH = $sideBFootValueH + $sideBInchValueH; 

    var sideBTotal = totalFootBH * totalFootBW * 1.6; 

    $('.total').empty(); 
    $('.total').append(sideATotal+sideBTotal); 

}); 

Я полагал, что я должен иметь функцию таким образом, это вычисление может быть легко сделать, даже если есть еще стороны, мне нужно, чтобы рассчитать

ответ

1

Добавьте два помогли функции кода

function getSideDimensions($side){ 
    var width = getDimension($side.find('.dimension-width')); 
    var height = getDimension($side.find('.dimension-height')); 
    return width * height * 1.6; 
} 

function getDimension($dimension){ 
    var feet = $dimension.find('.dimension-input-foot'); 
    var inches = $dimension.find('.dimension-input-inch'); 

    if((feet == "") || (!$.isNumeric(feet))){ 
     feet = 0; 
    } 

    if((inches == "") || (!$.isNumeric(inches))){ 
     inches = 0; 
    }else{ 
     inches = inches/12; 
    } 
    return feet + inches; 
} 

И изменить свой код на

$('.total-footage').on('click', function(){ 
    var sideATotal = getSideDimensions($('.dimensions-side-a')); 
    var sideBTotal = getSideDimensions($('.dimensions-side-b')); 
    $('.total').empty(); 
    $('.total').append(sideATotal+sideBTotal); 
} 
+0

благодарит за сообщение. даже если я не использовал то, как вы это делали, но это дало мне представление о том, как реализовать эту замечательную помощь! – Tsuna

Смежные вопросы