Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zliczanie checkbox-ów w polu input
kasior
post
Post #1





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 20.12.2005
Skąd: Bydgoszcz

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


Skrypt ma dodawać wartości pól checkbox. I dodaje, tyle,ze ustawia je obok siebie a nie zlocz matematycznie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Co zrobiłem nie tak?(IMG:http://forum.php.pl/style_emoticons/default/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.

Ten post edytował kasior 28.02.2007, 00:14:47
Go to the top of the page
+Quote Post
arecki
post
Post #2





Grupa: Zarejestrowani
Postów: 222
Pomógł: 35
Dołączył: 6.02.2005

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


  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ć.
Go to the top of the page
+Quote Post
kasior
post
Post #3





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 20.12.2005
Skąd: Bydgoszcz

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


(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) I wszystko jasne. THX, (IMG:http://forum.php.pl/style_emoticons/default/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...(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? Dodam,że zależy mi bardzo na tym ze wzgl. estetycznych (IMG:http://forum.php.pl/style_emoticons/default/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 ?

Ten post edytował kasior 8.03.2007, 22:51:10
Go to the top of the page
+Quote Post
DeyV
post
Post #4





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




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ć (IMG:http://forum.php.pl/style_emoticons/default/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 )
Go to the top of the page
+Quote Post

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: 31.08.2025 - 13:10