[CSS][JavaScript]Liczenie w czasie rzeczywistym z input'a |
[CSS][JavaScript]Liczenie w czasie rzeczywistym z input'a |
18.03.2018, 15:42:39
Post
#1
|
|
Grupa: Zarejestrowani Postów: 152 Pomógł: 0 Dołączył: 3.11.2017 Ostrzeżenie: (10%) |
Witam.
W jaki sposób moge zrobić żeby liczba wpisywana w inpucie była w czasie rzeczywistym mnożona przez daną liczbe i wynik z działania zmieniający się w divie |
|
|
18.03.2018, 17:03:37
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
|
|
|
18.03.2018, 17:54:56
Post
#3
|
|
Grupa: Zarejestrowani Postów: 152 Pomógł: 0 Dołączył: 3.11.2017 Ostrzeżenie: (10%) |
Niestety nie działa
|
|
|
18.03.2018, 17:59:10
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
Wstawiłeś skrypt na końcu? Pokaż cały HTML.
|
|
|
18.03.2018, 18:14:28
Post
#5
|
|
Grupa: Zarejestrowani Postów: 152 Pomógł: 0 Dołączył: 3.11.2017 Ostrzeżenie: (10%) |
OK, działa ja musze mieć coś w html zepsute bo wrzuciłem to do jsfiddle i działa, Dzięki!
Natomiast u mnie w pliku nie działa, mam cos takiego: Kod <html> <head> <script src="//code.jquery.com/jquery-3.2.1.min.js"></script> </head> <body> <input type="text" id="loo"> <div id="elo">Total</div> <script type="javascript/text"> document.getElementById('loo').addEventListener('input', e => { document.getElementById('elo').innerHTML = e.target.value * 123; }); </script> </body> </html> EDIT: mój błąd zamiast: Kod <script type="javascript/text"> document.getElementById('loo').addEventListener('input', e => { document.getElementById('elo').innerHTML = e.target.value * 123; }); </script> trzeba dać Kod <script>
document.getElementById('loo').addEventListener('input', e => { document.getElementById('elo').innerHTML = e.target.value * 123; }); </script> Ten post edytował BienuSS 18.03.2018, 18:19:48 |
|
|
18.03.2018, 18:26:08
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
Type to jak już text/javascript, a nie javascript/text Ale możesz śmiało pominąć ten atrybut.
|
|
|
18.03.2018, 18:40:39
Post
#7
|
|
Grupa: Zarejestrowani Postów: 152 Pomógł: 0 Dołączył: 3.11.2017 Ostrzeżenie: (10%) |
A w przypadku gdy mam kilka takich formularzy tj.:
to bawić się funkcją closest() ? Ten post edytował BienuSS 18.03.2018, 18:43:06 |
|
|
18.03.2018, 18:52:19
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
Masz mnóstwo możliwości. Ja bym poszedł albo we wspólnego rodzica, albo w coś bardziej elastycznego:
To oczywiście wszystko w waniliowym JavaScripcie, jak chcesz to zrób sobie w jQuery, ale w dzisiejszych czasach warto rozważyć rezygnację z jQuery. |
|
|
18.03.2018, 20:53:27
Post
#9
|
|
Grupa: Zarejestrowani Postów: 152 Pomógł: 0 Dołączył: 3.11.2017 Ostrzeżenie: (10%) |
Mam coś takiego:
a tu js Kod document.querySelectorAll('[data-binding]').forEach(input => { input.addEventListener('input', event => { document.getElementById(event.target.dataset.binding).innerHTML = "<b>Razem: "+Math.round((event.target.value*xxxxxxx))+"</b>"; }); }); https://jsfiddle.net/u4fz0vhb/34/ i zamiast xxxxxx potrzebuje wstawić wartość z spana, próbowałem closest(), getElementByiD, i jak narazie 0 pomysłów, jak by ktoś dał rade podać mi polecenie do którego powinienem sie odwołać, nie chce gotowego kodu, a pomysłu jak by to zrobić, z góry dzięki! Ten post edytował BienuSS 18.03.2018, 21:11:38 |
|
|
18.03.2018, 21:23:33
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
Czy takie zachowanie z mnożeniem będzie występowało wiele razy na stronie? Pytam, bo zastanawiam się czy warto tak starać się robić elegancki HTML czy może lepiej robić osobne callbacki.
|
|
|
18.03.2018, 21:29:46
Post
#11
|
|
Grupa: Zarejestrowani Postów: 152 Pomógł: 0 Dołączył: 3.11.2017 Ostrzeżenie: (10%) |
Na stronie jesli uzytkownik bedzie chciał wpisać w kazde pole coś to koło 100 razy
|
|
|
18.03.2018, 21:42:11
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
A opisz dokładniej ten projekt, co dokładnie to ma robić?
|
|
|
18.03.2018, 21:50:54
Post
#13
|
|
Grupa: Zarejestrowani Postów: 152 Pomógł: 0 Dołączył: 3.11.2017 Ostrzeżenie: (10%) |
Użytkownik wpisuje jakąś cyfre w inpucie, ona jest mnożona przez zmienną pobraną z bazydanych i wyświetlana w divie pod inputem w którym wpisywaliśmy cyfrę
|
|
|
18.03.2018, 21:52:55
Post
#14
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
Każdy input ma ten mnożnik obok?
|
|
|
18.03.2018, 21:54:54
Post
#15
|
|
Grupa: Zarejestrowani Postów: 152 Pomógł: 0 Dołączył: 3.11.2017 Ostrzeżenie: (10%) |
|
|
|
18.03.2018, 22:09:28
Post
#16
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
Musiałbyś dużo konkretniej opowiedzieć co robisz, żebym Ci doradził jakieś fajne rozwiązanie. Nie wiem czy ten mnożnik gdzieś zapisujesz czy nie. Opowiedz po prostu szczegółowo o projekcie. Nie mów mi o divach i inputach, tylko jak chłop krowie na rowie - co to jest i co ma robić.
|
|
|
18.03.2018, 22:18:50
Post
#17
|
|
Grupa: Zarejestrowani Postów: 152 Pomógł: 0 Dołączył: 3.11.2017 Ostrzeżenie: (10%) |
Jest to jakby demo obstawiania meczy, uzytkownik dostaje na start 100000 punktów i moze nimi obstawiac, kursy są tworzone tak że pobieraz sie z bazydanych ilosc punktów na druzyne a, drużyne b i zapisuje sie do zmiennej. Użytkownik wpisuje ile chce postawic coinsów na daną drużyne i mnoży mu razy dany kurs
|
|
|
18.03.2018, 22:27:02
Post
#18
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
To może lepiej zapisuj mnożnik bezpośrednio w inpucie i po wspólnym rodzicu szukaj odpowiedniego diva? Nie ma sensu w takim razie ten mój pomysł z data-bind, bo musiałbyś na siłę nadawać nazwy. Lepiej coś na kształt:
|
|
|
18.03.2018, 22:36:04
Post
#19
|
|
Grupa: Zarejestrowani Postów: 152 Pomógł: 0 Dołączył: 3.11.2017 Ostrzeżenie: (10%) |
Dziękuje Dokładnie o to chodziło
|
|
|
Wersja Lo-Fi | Aktualny czas: 19.04.2024 - 08:39 |