Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
v.bouse
Člen
Avatar
v.bouse:30.9.2014 7:40

Ahoj všichni
Prosím o pomoc s jednou drobností v js.
Pomocí posuvníku se na webu http://www.konsolidacebezprijmu.cz/ (teprve se dělá) mění částka. Potřeboval bych, aby se vypisovala jako česká měna.

Javascript:

<script>
$(function() {
  $( "#slider-range-min" ).slider({
    range: "min",
    step: 100000,
    value: 500000,
    min: 100000,
    max: 10000000,
    slide: function( event, ui ) {
      $( "#amount" ).val( ui.value );
    }
  });
  $( "#amount" ).val( $( "#slider-range-min" ).slider( "value" ) );
});
</script>

V html:

<form action="/formular.php" method="post">
  <input type="text" id="amount" name="vyse_pozadavku" readonly>
  <input type="submit" name="zjisti" value="Odeslat" class="rychly" />
</form>

V php bych neměl problém ale s js se trochu zlobím.
Myslím, že použitá knihovna metodu na formát čísla obsahuje ale nevím jak s tím naložit.
Určitě by to šlo i pomocí jednoduchého reguláru, něco jako tohle:

function formatAsDollars(el) {
  el.value = '$' + el.value.replace(/[^\d]/g,'').replace(/(\d\d?)$/,'.$1');
}

Díky za pomoc

Odpovědět
30.9.2014 7:40
Většinou je problém stejně mezi židlí a klávesnicí
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na v.bouse
Honza Bittner:30.9.2014 7:58

Co zkusit

$( "#amount" ).val( ui.value.toLocaleString() + " Kč" );

??

// http://goo.gl/3AEAFa

Editováno 30.9.2014 7:59
Nahoru Odpovědět
30.9.2014 7:58
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Pavel Mareš
Tvůrce
Avatar
Pavel Mareš:30.9.2014 7:59

Jestli to dobře chápu, tak chceš z dolaru na koruny přeměnit vypisovanou hodnotu?

Nahoru Odpovědět
30.9.2014 7:59
Však ono půjde ...
Avatar
v.bouse
Člen
Avatar
Odpovídá na Honza Bittner
v.bouse:30.9.2014 15:58

To je přesně ono.
Díky

Nahoru Odpovědět
30.9.2014 15:58
Většinou je problém stejně mezi židlí a klávesnicí
Avatar
v.bouse
Člen
Avatar
Odpovídá na Pavel Mareš
v.bouse:30.9.2014 15:59

Neformátovanou částku na měnu. Honza už na to odpověděl.
Díky za reakci.

Nahoru Odpovědět
30.9.2014 15:59
Většinou je problém stejně mezi židlí a klávesnicí
Avatar
v.bouse
Člen
Avatar
v.bouse:30.9.2014 19:08

Mohu to ještě trochu rozvést?
Nedaří se mi najít způsob, jak to vložit i sem:

$( "#amount" ).val( $( "#slider-range-min" ).slider( "value" ) );

což je defaultní při načtení stránky. Můžu ještě poprosit o úpravu?

Pak po přenesení hodnoty do velkého formuláře to potřebuji zase formátování zbavit ale ouha, ono se to nechce nechat.
PHP:

// odstranění formátu z měny
function OdstranZnaky($text) {
        $co = Array(" ","Kč");
        $cim = "";
        $text = Str_Replace($co,$cim,Trim($text));
        return $text;
}

Vzhledem k tomu, že to mezery nevymete, nevkládá tam metoda toLocaleString() nějaké jiné bílé znaky?

Díky za pomoc :(

Nahoru Odpovědět
30.9.2014 19:08
Většinou je problém stejně mezi židlí a klávesnicí
Avatar
v.bouse
Člen
Avatar
v.bouse:1.10.2014 8:50

Nenašel jsem možnost editovat poslední příspěvek.
Musím svůj dotaz pozměnit.
Metoda toLocaleString() se dá použít, ale jenom na zobrazení částky v prohl. Někam jí posílat je hloupost, protože není kontrola na tvarem vzhledem k lokalitě.
Vyřešil jsem to dalším <input type="hidden">, do kterého ukládám nezformátovanou částku, která se pak posílá k zpracování místo původního.

Přesto bych však chtěl poprosit o pomoc s implementací toLocaleString() do

$( "#amount" ).val( $( "#slider-range-min" ).slider( "value" ) );

Díky za pomoc.

Nahoru Odpovědět
1.10.2014 8:50
Většinou je problém stejně mezi židlí a klávesnicí
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.