Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript]Automatyczne odliczanie inputów i zmienianie ich klas
michal_s
post
Post #1





Grupa: Zarejestrowani
Postów: 148
Pomógł: 1
Dołączył: 11.12.2010

Ostrzeżenie: (0%)
-----


Problem wygląda tak.
Mam sobie kilka zwykłych inputów np.

  1. <input name="xx1" id="xx1" type="text">
  2. <input name="xx2" id="xx2" type="text">


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:
  1. $('#jakis_checkbox_o_id').click(function(){
  2. $('#xx1').toggleClass('price');
  3. });
  4.  
  5. $('#jakis_checkbox_o_id2').click(function(){
  6. $('#xx2').toggleClass('price');
  7. });


Oraz zliczanie:
  1. $.fn.sumValues = function() {
  2. var sum = 0;
  3. this.each(function() {
  4. if ( $(this).is(':input') ) {
  5. var val = $(this).val();
  6. } else {
  7. var val = $(this).text();
  8. }
  9. sum += parseFloat( ('0' + val).replace(/[^0-9-\.]/g, ''), 10 );
  10. });
  11. return sum;
  12. };
  13.  
  14. $(document).ready(function() {
  15. $('input.price').bind('keyup', function() {
  16. $('span.total').html( $('input.price').sumValues() );
  17. });
  18. });


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:)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 06:41