Autor Zpráva
VIPatrikPK
Profil
Caw neveim či toto je naidealnejší názov lebo potrebujem mať do polnoci hotový jeden skript a môj kóder ho nestihol dorobiť tak plz potrebujem aby ste s kodu:
$("form#MCitems input:text").val("0").live("change keyup keypress blur focusout",function (){
                var $thisVal = $(this).val();
                    if ($thisVal.length > 1 && $thisVal.substr(0,1) == "0") {
                        $thisVal = parseInt($thisVal.substring(1));
                        $(this).val($thisVal);
                    } else if ($thisVal == "") {
                        $thisVal = 0;
                        $(this).val($thisVal);
                    }
                var $hidden = $("form#MCitems input:hidden").val(0);
                $("form#MCitems input:text").not(":hidden").each(function (){
                    var $value = parseInt($(this).val());
                    var $stack = parseInt($(this).attr("stack"));
                    var $pack = Math.ceil($value / $stack);
                        if (!isNaN($value)) {
                            $(this).closest("tr").children("td:last").children("span").text($pack);
                        } else {
                            $thisVal = $(this).val(0);
                        }
                        if (!isNaN($value) && $value > 0) {
                            $hidden.val(parseInt( $hidden.val()) + ( $pack ) );
                        }
                        var $number = parseInt($("form#MCitems input:hidden").val());
                        if ($number >= 54) {
                            $("form#MCitems input:text[value=0]").attr("disabled",true);
                        } else {
                            $("form#MCitems input:text").attr("disabled",false);
                        }
                });
                var $number = parseInt($("form#MCitems input:hidden").val());
                if ($number > 54) {
                    var $minus = $number - 54;
                    var $deduct = $minus * parseInt($(this).attr("stack"));
                    var $value = parseInt($thisVal);
                    $(this).val($value - $deduct);
                    $("form#MCitems input:hidden").val("54");
                }
            });
tu potrebujem odstrániť časť kódu čo automatický doplní do inputu nulu lebo keď chcete vymazať nulu tak sa vám hňed zobrazí a to chcem vymazať alebo opraviť ten bug
žíva ukážka
a plz čo najrýchlejšie lebo to potrebujem do polnoci diki
LaMMa
Profil
Zakomentuj riadok 8
VIPatrikPK
Profil
myslíš /* a */ keď ano tak nejde
LaMMa
Profil
jo to som myslel, a este na riadkoch 10 a 18 skus prepisat val(0) na val()
VIPatrikPK
Profil
ked dám do komentu + prepíšem tie 0 tak to ide


a niečo tam je určite navyše že čo možem odstániť
LaMMa
Profil
Ale sa mi zda, ze to mas nejake pomale, nech sa ti na to kukne este niekto kto sa do JS vyzna :)
VIPatrikPK
Profil
a + takto to nefunguje ked napíšem číslo tak sa do toto input hidden naukladá tak ako malo


LaMMa:
Ale sa mi zda, ze to mas nejake pomale, nech sa ti na to kukne este niekto kto sa do JS vyzna :)
jj aj mne sa to zdá
LaMMa
Profil
tak ten 10ty riadok nechaj ako bol som sa s nim sekol... abo nvm, uz je vela hodin na rozmyslanie :)
VIPatrikPK
Profil
:D


a je to tak dobré keď iba 10ty riadok
LaMMa
Profil
to sa pytas, ci oznamujes? :)
VIPatrikPK
Profil
oznamujem :)


LaMMa :) ty asy vieš dosť s js že keď jj tak by si mi dal tvoj kontakt
pcmanik
Profil
VIPatrikPK:
Co ten kod ma vlastne robit? nech sa na enho pozeram ako chcem nemozem na to prist.
Ale tak nejake rady:
Pred premenne sa nezvykne pisat dolar.
Zbytocne pouzivanie komplikovanych selektorov.
Pouzivanie live je absolutne nevhodne a rapidne degraduje vzkon celej stranky.
Preco je tam priradenie hned 5 udalosti na jeden element? je to nutne?
LaMMa
Profil
VIPatrikPK:
práveže JS nie je moja šálka kávy, ale ak by si potreboval pomôcť s PHP, kontakt ti môžem dať :)
VIPatrikPK
Profil
LaMMa
Môžeš každá pomoc sa zíde ;)

pcmanik:
ten $ je tam na to aby sa lepšie orientovalo :)

keď tak tak by si mi to mohol upraviť :)


a upravil som trocha kód
$("form#MCitems input:text").val("0").live("change keyup",function (){
                var $thisVal = $(this).val();
                    if ($thisVal.length > 1 && $thisVal.substr(0,1) == "0") {
                        $thisVal = parseInt($thisVal.substring(1));
                        $(this).val($thisVal);
                    } else if ($thisVal == "") {
                        $thisVal = 0;
                    }
                var $hidden = $("form#MCitems input:hidden").val(0);
                $("form#MCitems input:text").not(":hidden").each(function (){
                    var $value = parseInt($(this).val());
                    var $stack = parseInt($(this).attr("stack"));
                    var $pack = Math.ceil($value / $stack);
                        if (!isNaN($value)) {
                            $(this).closest("tr").children("td:last").children("span").text($pack);
                        } else {
                            $thisVal = $(this).val();
                        }
                        if (!isNaN($value) && $value > 0) {
                            $hidden.val(parseInt( $hidden.val()) + ( $pack ) );
                        }
                        var $number = parseInt($("form#MCitems input:hidden").val());
                        if ($number >= 54) {
                            $("form#MCitems input:text[value=0]").attr("disabled",true);
                        } else {
                            $("form#MCitems input:text").attr("disabled",false);
                        }
                });
                var $number = parseInt($("form#MCitems input:hidden").val());
                if ($number > 54) {
                    var $minus = $number - 54;
                    var $deduct = $minus * parseInt($(this).attr("stack"));
                    var $value = parseInt($thisVal);
                    $(this).val($value - $deduct);
                    $("form#MCitems input:hidden").val("54");
                }
            });
pcmanik
Profil
VIPatrikPK:
Najprv popis, co ten kod ma robit, a priloz aj kusok HTML na ktorom sa to vykonava.
VIPatrikPK
Profil
1. dal som odkaz na živú ukážku.
Keď poznáš Minecraft tak to hneď pochopíš
Ten JS má robiť:
v html mám pridané atributy max="" ktorý robí to že nemôžem napísať väčšie číslo ako je v max (a to robí JS ktorý nemusíš meniť on je v poho) a druhý je stack="" to robí že koľko itemov/kusov je v jednom staku/balíčku a maximálne môžem mať 54 stakov a ešte keď napíšem číslo napr (v stack je 64) a napíšem číslo 64 tak sa v tej tabuľke v stĺpci stacky napíše 1 to robí ten JS ktorý som tu napísal
už si pochopil ?
pcmanik
Profil
VIPatrikPK:
Myslim ze hej, az pridem domo pozriem sa na to, zatial mozem konstatovat, len ze IE 8 s tym spolahlivo na par sekund zatuhne.
VIPatrikPK
Profil
ok diki

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: