Mam sobie kilka zwykłych inputów np.
I chcę, aby były one automatycznie sumowane. Problem polega na tym, że są one w kilku divach, które się rozwijają gdy użytkownik zaznaczy jakiś checkbox. I nie chcę, aby było tak, że ktoś zaznaczy checkbox i wpisze jakąś kwotę a potem odczepi checkbox a ilość z inputa, który wtedy zniknął i tak będzie wtedy liczona.
Więc zrobiłem tak:
$('#jakis_checkbox_o_id').click(function(){ $('#xx1').toggleClass('price'); }); $('#jakis_checkbox_o_id2').click(function(){ $('#xx2').toggleClass('price'); });
Oraz zliczanie:
$.fn.sumValues = function() { var sum = 0; this.each(function() { if ( $(this).is(':input') ) { var val = $(this).val(); } else { var val = $(this).text(); } sum += parseFloat( ('0' + val).replace(/[^0-9-\.]/g, ''), 10 ); }); return sum; }; $(document).ready(function() { $('input.price').bind('keyup', function() { $('span.total').html( $('input.price').sumValues() ); }); });
Wszystko pięknie działa tylko nie automatycznie. Jeśli zamknę checkboxa to, żeby ilość w spanie o nazwie total się zmieniła to muszę coś zmienić w innym inpucie, który jest aktywny a to bez sensu.
jak to zrobić żeby po odkliknięciu checkboxa automatycznie zmieniała się wartość total?
mam nadzieję, ze dobrze to objaśniłem:)