2014-11-29 2 views
0

Итак, я использую Keyup для вычисления всего полей ввода. Все идет нормально. Но теперь я хочу это сделать: если флажок #a отмечен, добавьте 12 к общей сумме. Если нет, добавьте 0.Keyup: добавьте значение, когда установлен флажок

я на основе моего кода на этом: http://jsfiddle.net/5xzSy/1/

$(document).keyup(function(){ // run anytime the value changes 
    var element1 = parseFloat($('#element1').val()) * 16.28 || 0; // get value of field and multiply by price 
    var total = 0+element1 
}); 

Как я могу добавить значение проверяемого флажок и вычитать, если люди снимите его. (Или еще лучше: с радиоблоком?) Спасибо!

ответ

1

демо: http://jsfiddle.net/5xzSy/1079/< - обновлена ​​ (добавить 12 только если что-то дано, floatnumber)

кстати: input должен быть <input/> и не <input></input>

$('input').keyup(function(){ // run anytime the value changes   
    var firstValue = parseFloat($('#first').val()); // get value of field 
    var secondValue = parseFloat($('#second').val()); // convert it to a float 
    var thirdValue = parseFloat($('#third').val());  
    $('#added').html(firstValue + secondValue + thirdValue); // add them and output it 
}); 

$('#check').on('change', function() { 
    var total = parseFloat($('#added').text()); // <-- update for float 
    if (total) { 
     if ($(this).is(':checked')) { 
      total = total + 12; 
     } else { 
      total = total - 12; 
     } 
     $('#added').text(total); 
    } 
}) 
+0

Похоже, что он работает! Проблема только в запятой. Поскольку я работаю с ценами, мне нужно добавить 12,5; и в вашем коде округляет до 12 –

+0

отредактировал ответ – doniyor

0

Это должно сделать это ...

$(document).keyup(function(){ // run anytime the value changes 
    var element1 = parseFloat($('#element1').val()) * 16.28 || 0; // get value of field and multiply by price 
    var total = element1; 
    if ($('#a').is(':checked')) { 
    total = total + 12; 
    } 
}); 
+0

В чем смысл явного добавления '0' ...? –

+0

Простите, скопировал код @ Анке, отредактируйте его. :) –

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