Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Dynamiczne obliczanie zawartości input'a
Forum PHP.pl > Forum > Przedszkole
Barcelona
Cześć, w swoim formularzu mam input'a w którego wpisuje tylko cyfry. Następnie na tej wartości są wykonywane działania. Wyniki tego działania są wyświetlane w divie poniżej. Jednak są one pokazywane dopiero po "zejściu" z tego input'a. A chciałbym aby pokazywały się dynamicznie, żebym nie musiał nigdzie klikać.

  1. <form>
  2. <input type="text" name="braki" id="braki" value="" />
  3. <input type="hidden" name="waga" value="12" />
  4. <div id="procent"> <b></b></div>
  5. </form>&#8203;


[JAVASCRIPT] pobierz, plaintext
  1. $(function() {
  2. $('#braki').change(function() {
  3. var $t = $(this);
  4. var braki = parseInt($t.val());
  5. var waga = parseInt($('input[name="waga"]').eq(0).val());
  6. var wynik = (braki/(braki+waga)*100).toFixed(3);
  7. $('#procent b').html(wynik);
  8. });
  9. });&#8203;
[JAVASCRIPT] pobierz, plaintext


http://jsfiddle.net/Vu73F/ --> Nie wiem czemu tam akurat nie to nie działa

Próbowałem wywoływać funkcją onkeyup jednak bez żadnych efektów, a może poprostu coś źle robie :/
lobopol
nie onkeyup a keyup takie tam na szybko http://jsfiddle.net/Vu73F/3/ powinno naprowadzić na rozwiązanie
Barcelona
Dzięki, tylko po co ta funkcja .keydown(function(e)

zauważyłem tylko że nie mogę kasować tego co wpisałem w inputa.
lobopol
Heh zapomniałem o backspace smile.gif, ogólnie ta funkcja nie pozwala na wprowadzenie czegoś innego niż liczbę (przez pisanie, przez wklejanie trzeba by zmodyfikować) w inpucie sprawdź kod backspace i wyklucz go w tym ifie
Barcelona
No faktycznie, fajna sprawa. Tylko ja nie mam pojęcia w jaki sposób mogę wykluczyć z tego backspace :/ Ogólnie funkcja bardzo przydatna smile.gif
lobopol
Łapaj http://jsfiddle.net/Vu73F/4/
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.