Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Przeliczanie liczby z jednego inputa i wstawienie w drugi
Forum PHP.pl > Forum > Przedszkole
XP'ek
Witam,

mam taki problem ponieważ chcę stworzyć sobie przelicznik, np. wpisując kwotę w złotówkach aby przeliczała na grosze w locie tzn. wpisując kwotę ona od razu aby była w drugim polu.

Stworzyłem sobie coś takiego ale nie za bardzo działa...

Kod
                            $(function(){
                                var price = $("input[name='price']");
                                var kwota = $("input[name='p24_kwota']");
                                price.change(function(){  
                                    var prices = price.val();  
                                    kwota.attr('value', prices * 10);
                                });
                            }
nospor
1) Do ustawiania wartosci uzywa sie VAL a nie ATTR
2) Pobrana wartosc przy pomocy VAL jest tekstem. Jesli chcesz na tym robic obliczenia to masz uzyc parseInt by otrzymac liczbe.
XP'ek
Cytat(nospor @ 21.07.2013, 13:40:33 ) *
1) Do ustawiania wartosci uzywa sie VAL a nie ATTR
2) Pobrana wartosc przy pomocy VAL jest tekstem. Jesli chcesz na tym robic obliczenia to masz uzyc parseInt by otrzymac liczbe.



Poprawiłem to tak, działać działa ale podejrzewam że można to zrobić jeszcze lepiej ;]
Kod
    <input type="text" name="price" class="span2" placeholder="Kwota w złotych">
    <input type="hidden" name="p24_kwota">
    
    <script type="text/javascript">
    $(function(){
        var price = $("input[name='price']");
        var kwota = $("input[name='p24_kwota']");
        price.on("change", function(){  
            var prices = price.val();  
            kwota.val(prices * 100);
        });
    });
    </script>
nospor
NIe wiem jakim cudem ci to dziala. Nie uzyles parseInt i robisz mnozenie na tekscie. Moze twoja wersja przegladarki to obsluguje, ale inna juz moze tego nie robic.
XP'ek
no mam najnowszego chrome haha.gif

a w ten sposób

Kod
    <script type="text/javascript">
    $(function(){
        var price = $("input[name='price']");
        var kwota = $("input[name='p24_kwota']");
        price.on("change", function(){  
            var prices = price.val();  
            kwota.val(parseInt(prices) * 100);
        });
    });
    </script>
nospor
git
XP'ek
Coś inaczej byś rozwiązał nie jest to na okrętkę ? smile.gif
lobopol
co do mnożenia to zadziała na większości przeglądarek (może nie na ie6), nie zadziała tylko gdy w inpucie wartość nie będzie prawidłowym numerem (np. 100a, 1,, 2 2). Więc lepiej użyć parseInta
XP'ek
i tak mimo wszystko jak wpiszę 3,33 lub 3.33 to nie przelicza mi tylko bierze całą wartość 300

ok mam tak powinno być
Kod
    <script type="text/javascript">
    $(function(){
        var price = $("input[name='price']");
        var kwota = $("input[name='p24_kwota']");
        price.on("change", function(){  
            var prices = price.val();  
            kwota.val(parseInt(prices * 100));
        });
    });
    </script>


tylko jak teraz wypadałoby wymuszenie aby użytkownik mógł użyć cyfry i . :]
nospor
Do liczb rzeczywistych jest parseFloat.... slyszales o google albo manualu? tongue.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.