Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zliczanie checkbox-ów w polu input
Forum PHP.pl > Forum > Po stronie przeglądarki
kasior
Skrypt ma dodawać wartości pól checkbox. I dodaje, tyle,ze ustawia je obok siebie a nie zlocz matematycznie winksmiley.jpg Co zrobiłem nie tak?questionmark.gif

  1. <script language="JavaScript">
  2.  
  3. function podlicz()
  4. {
  5. suma = document.getElementById('suma');
  6. suma.value = '';
  7. for(i=1;i<=2;i++)
  8. {
  9. el = document.getElementById('p_'+i);
  10. if(el.checked) suma.value = suma.value+el.value;
  11. }
  12. }
  13.  


  1. <input id="p_1" name="p_1" type="checkbox" size="1" value="17.00" maxlength="1" class="pola_prawo" onClick="podlicz();" >
  2.  
  3. <input id="p_2" name="p_2" type="checkbox" size="1" value="14.00" maxlength="1" class="pola_prawo" onClick="podlicz();" >



  1. <input id="suma" type="text" name="suma" disabled="disabled" size="5" value="" class="pola_prawo">


Poproszę o jakieś sugestie. Dzięki.
arecki
  1. <script language="JavaScript">
  2.  
  3. function podlicz()
  4. {
  5. var suma = 0;
  6. for(i=1;i<=2;i++)
  7. {
  8. el = document.getElementById('p_'+i);
  9. if(el.checked) suma = suma+parseFloat(el.value);
  10. }
  11. document.getElementById('suma').value = suma;
  12. }


Z głowy ale powinno działać.
kasior
smile.gif I wszystko jasne. THX, smile.gif

Oki. To jeszcze jedna sprawa która spędza mi sen z oczu. Ten sam skrypt tylko poprawiony (zamieniłem parseInt na parseFloat gdyz interesuja mnie miejsca po przecinku.

  1. function podlicz()
  2. {
  3. suma = document.getElementById('suma');
  4. suma.value = '0';
  5. for(i=1;i<=5;i++)
  6. {
  7. el = document.getElementById('p_'+i);
  8. if(el.checked) suma.value = parseFloat(suma.value)+parseFloat(el.value);
  9. }
  10. }


Wszystko to działa jeżeli po przecinku coś mam. Wtedy pokazuje np 20.15, ale potrzebuje,żeby pokazywało mi w sumie równiez kiedy jest 20.00 .. Idzie to zrobić jakoś?? Wiem,że wartość jest zaokrąglana jezeli nic nie ma po przecinku ale może...questionmark.gif? Dodam,że zależy mi bardzo na tym ze wzgl. estetycznych smile.gif

Na razie poradziłem sobie w ten sposób,że dopisałem
  1. suma.value = suma.value + '.00';

gdyz operuje na razie całkowitymi liczbami , ale jak w przyszłości będą z pzrecinkami to będzie kicha. Może jednak ktoś zna sposób ?
DeyV
W sumie nie pamiętam, czy jest jakaś wbudowana funkcja.

google zwróciło mi np. coś takiego

http://www.stat.vt.edu/~sundar/java/code/format_js.html


--- Edit

A jednak w JS musiało to być smile.gif
Wierzyłem w to mocno, i znalazłem

Kod
    
var profits=2489.8237
var a = profits.toFixed( 2 );

alert(  a ); // return 2489.82
Niestety - wymaga JS 1.5 ale w dzisiejszych czasach to już raczej nie jest problem. ( http://www.olate.co.uk/articles/188 )
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.