Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][JavaScript]Działania matematyczne w JS oraz aktualizacja wyników w tle.
Forum PHP.pl > Forum > Przedszkole
Giluś
Cześć posiadam taki kod:

JS:
[JAVASCRIPT] pobierz, plaintext
  1. $(function() {
  2. var ile = $('#kno3d').val() * 2;
  3. $('#kno3c').val(ile);
  4. });
[JAVASCRIPT] pobierz, plaintext


HTML:
  1. <div><input type="text" id="kno3c"><small>ml</small></div>
  2. <div><input type="text" id="kno3d"><small>g</small></div>



I teraz chciałbym zrobić coś takiego:
Gdy wpiszę w 2 input (id: kno3d) jakąś cyfrę np.: 10 to automatycznie ona się zaktualizuję w 1 input (id: kno3c) i wynikiem będzie w tym momencie cyfra 20..
Chodzi oto, aby te wyniki były na bieżąco aktualizowane - w tle..


Pozdrawiam i z góry bardzo dziękuje..
fizzlebubble
Proszę: http://jsbin.com/ojites/1/edit
Giluś
Dzięki bardzo oto mi chodziło, ale jeszcze mam jedno pytanie, myślałem że tym jedynym rozwiąże go, ale chyba nie..

Posiadam taki cały HTML:

  1. Wartość 1<div><input type="text" id="kno3a"><small>dm<sup>3</sup></small></div>
  2. Wartość 2<div><input type="text" id="kno3b"><small>ml</small></div>
  3. Wartość 3<div><input type="text" id="kno3c"><small>ml</small></div>
  4. Wartość 4<div><input type="text" id="kno3d"><small>g</small></div>
  5.  
  6. Wynik1: <span id="wynik1"> </span>
  7. Wynik2: <span id="wynik2"> </span>


Chodzi oto, że chce obliczyć Wynik 1 oraz Wynik 2..
Wartość 1 i 2 oraz 4 to są zmienne które Ja wpisuję, natomiast wartość 3 - jest ona generowana z wartości 4.. (tak jak w moim pytaniu i odpowiedzi wyżej..)

Natomiast teraz chce obliczyć wartość 1 i 2 - ona jest zmienna na podstawie Wartości 1, 2 oraz 4..


Wynik 1 = Wartość 4 * 1000 / Wartość 2 / Wartość 1 * 0,6133..
Wynik 2 = Wartość 4 * 1000 / Wartość 2 / Wartość 1 * 0,3867..

Nie wiem jak zrobić aby te wartości był ciągle aktualizowane na podstawie 3 różnych wartości (input)..


Pozdrawiam i z góry bardzo dziękuje..
fizzlebubble
Analogicznie możesz zrobić wynik2 http://jsbin.com/ojites/6/edit
mortus
eval nie służy do obliczania wartości wyrażeń matematycznych. No i trzeba pamiętać o błędach precyzji przy obliczeniach wykonywanych w JS.
fizzlebubble
W takim bądź razie jakbyś to zrobił nie używając eval?
mortus
Cytat(fizzlebubble @ 28.03.2013, 17:48:15 ) *
W takim bądź razie jakbyś to zrobił nie używając eval?

Normalnie - bez eval. Przecież JS potrafi mnożyć i dzielić, a jedyne o czym trzeba pamiętać to to, że liczby zmiennoprzecinkowe zapisujemy z kropką, a nie z przecinkiem (jak to zrobiłeś, przez co otrzymany wynik jest nieprawidłowy).
Giluś
Ale i tak to nie działa smile.gif..

Bo zmienia się wtedy gdy użyję ostatniego input, a ja może w między czasie będzie chciał zmienić wartość 1 i już mi się wynik nie zmieni smile.gif
mortus
[JAVASCRIPT] pobierz, plaintext
  1. $('#kno3a, #kno3b, #kno3c, #kno3d').on('keyup', function() {
  2. // obliczenia
  3. });
[JAVASCRIPT] pobierz, plaintext
Giluś
A jak zrobić aby nie pokazywało się "NaN" tylko np.: ... ?


Pozdrawiam i z góry dziękuje..
fizzlebubble
Kod
if(typeof zmienna == 'NaN') {
$(input).val('...');
}


lub isNaN() smile.gif
Giluś
No zrobiłem sobie troszkę inaczej ale działa smile.gif
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.