Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][JavaScript]Działania matematyczne w JS oraz aktualizacja wyników w tle.
Giluś
post 28.03.2013, 11:28:49
Post #1





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


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..
Go to the top of the page
+Quote Post
fizzlebubble
post 28.03.2013, 11:39:34
Post #2





Grupa: Zarejestrowani
Postów: 272
Pomógł: 28
Dołączył: 13.02.2011

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


Proszę: http://jsbin.com/ojites/1/edit


--------------------
Nie obrażę się, jeśli za udzieloną pomoc odwdzięczysz się klikając w "Pomógł" :).
Go to the top of the page
+Quote Post
Giluś
post 28.03.2013, 11:57:39
Post #3





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


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..
Go to the top of the page
+Quote Post
fizzlebubble
post 28.03.2013, 16:43:38
Post #4





Grupa: Zarejestrowani
Postów: 272
Pomógł: 28
Dołączył: 13.02.2011

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


Analogicznie możesz zrobić wynik2 http://jsbin.com/ojites/6/edit


--------------------
Nie obrażę się, jeśli za udzieloną pomoc odwdzięczysz się klikając w "Pomógł" :).
Go to the top of the page
+Quote Post
mortus
post 28.03.2013, 17:01:45
Post #5





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


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.
Go to the top of the page
+Quote Post
fizzlebubble
post 28.03.2013, 17:48:15
Post #6





Grupa: Zarejestrowani
Postów: 272
Pomógł: 28
Dołączył: 13.02.2011

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


W takim bądź razie jakbyś to zrobił nie używając eval?


--------------------
Nie obrażę się, jeśli za udzieloną pomoc odwdzięczysz się klikając w "Pomógł" :).
Go to the top of the page
+Quote Post
mortus
post 28.03.2013, 18:58:17
Post #7





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


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).
Go to the top of the page
+Quote Post
Giluś
post 28.03.2013, 19:21:43
Post #8





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


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
Go to the top of the page
+Quote Post
mortus
post 28.03.2013, 19:27:18
Post #9





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


[JAVASCRIPT] pobierz, plaintext
  1. $('#kno3a, #kno3b, #kno3c, #kno3d').on('keyup', function() {
  2. // obliczenia
  3. });
[JAVASCRIPT] pobierz, plaintext


Ten post edytował mortus 28.03.2013, 19:27:32
Go to the top of the page
+Quote Post
Giluś
post 29.03.2013, 08:23:58
Post #10





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


A jak zrobić aby nie pokazywało się "NaN" tylko np.: ... ?


Pozdrawiam i z góry dziękuje..
Go to the top of the page
+Quote Post
fizzlebubble
post 29.03.2013, 09:06:56
Post #11





Grupa: Zarejestrowani
Postów: 272
Pomógł: 28
Dołączył: 13.02.2011

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


Kod
if(typeof zmienna == 'NaN') {
$(input).val('...');
}


lub isNaN() smile.gif

Ten post edytował fizzlebubble 29.03.2013, 09:12:51


--------------------
Nie obrażę się, jeśli za udzieloną pomoc odwdzięczysz się klikając w "Pomógł" :).
Go to the top of the page
+Quote Post
Giluś
post 29.03.2013, 09:54:01
Post #12





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


No zrobiłem sobie troszkę inaczej ale działa smile.gif
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 29.03.2024 - 02:30