2014-11-14 3 views
1

Я новичок в кодировании (пытается учиться), и я не могу понять, как получить значение параметра check вне значения функции.Переменная checkbox вне функции

Javascript:

$(document).ready(function() { 

    var quantity= parseInt($('#phones').val()); 

    $("#check1 input:checkbox").change(function() { 
     var feature = 0; 
     $("#check1 input:checkbox").each(function() { 
      if ($(this).is(':checked')) { 
       feature += parseInt($(this).prop('value')); 
      } 
     }); 

    }); 

    var grand = feature * (quantity * Number ('0.1')) 

    var total = quantity + grand 

}); 

HTML:

<input id="phones" type="numerical" value="0" style="text-align: right"/> 

<div id="check1"> 

<input type="checkbox" value="1" /> 
+0

, что вы имеете в виду? – OnlyMAJ

+0

Любые особые причины, по которым вы не можете сохранить все переменные и математику в обработчике событий? – melancia

+0

Существует более одного флажка, и по умолчанию по умолчанию установлено значение 0, а когда оно отмечено = 1. значение флажка умножается на уравнение (каждый флажок имеет другое уравнение), а результат всех флажков и количества продуктов складывается как общая сумма. –

ответ

0
function getResult(feature, phones) { 
    if (feature <= 0 || phones <= 0) { 
    return 'Error...., enter the number of phones and check some checkbox'; 
    } 

    return (feature * (+phones * 0.1)) + +phones; 
} 

function getFeature() { 
    var feature = 0; 

    $('#check1 input:checkbox:checked').each(function() { 
    feature += +$(this).prop('value') || 1; 
    }); 

    return feature; 
} 

$(document).ready(function() { 
    var $phones = $('#phones'), 
     $result = $('#result'); 

    $("#check1 input:checkbox").change(function() { 
    $result.html(getResult(getFeature(), $phones.val())); 
    }); 

    $("#phones").keyup(function() { 
    $result.html(getResult(getFeature(), $phones.val())); 
    }); 
}); 

Демо: http://jsbin.com/hivilu/2/

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