Autor Zpráva
jarda0001
Profil *
Ahoj,

prosím o radu. Na stránce mám div, který obsahuje tlačítka. Pokud kliknu na tlačítko provede se $.post - který obnoví tento div. Toto mi ale funguje jen při prvním kliknutí, pokud kliknu na tlačítko podruhé tak se nic neprovede? Kde by mohl být problém? Díky za radu jarda
Cup
Profil
tlačítka máš v onom divu? který obnovuješ i s tlačítky?
jarda0001
Profil *
Cup
ano
Cup
Profil
zkus toto: je to citace z jednoho mého tématu... myslím že to pomůže

Pokud jsem správně pochopil, že ten input vkládáš do stránky pomocí Ajaxu, tak na něj událost musíš přidat pomocí live. Kód by tedy mohl vypadat takto:
$('#soubor').live('change', function() {
alert('zmeneno');
});


využij příklad, zkus to live. Ale nevím zda to pomůže, jen myslím že ano.
Chamurappi
Profil
Reaguji na jardu0001:
Jakmile změníš innerHTML nějakého elementu, přestanou existovat elementy uvnitř a vzniknou zbrusu nové (byť třeba na pohled stejné), takže pokud ty staré měly přiřazené nějaké události, nové už nemají a musíš je opět přiřadit. Pokud to neumíš naprogramovat normálně (tedy vyvolat přiřazení z callbacku), musíš použít zmíněný live. Nebo můžeš zkusit zařídit, aby se staré tlačítko nezrušilo.
jarda0001
Profil *
2 Chamurappi:
to jsem nevěděl, je lepší callback nebo live? Můžeš dát prosím příklad toho přiřazení z callbacku?
Chamurappi
Profil
Reaguji na jardu0001:
je lepší callback nebo live?
V drtivé většině případů callback, protože live nepřemýšlí nad aktuální situací a přehodnocuje selektory po každé změně.
Ve světě CSS to lze přirovnat k rozdílu mezi nastavováním procentuálních rozměrů, které se přizpůsobují pouze změně rodiče, a rozměrům zadaným skrz expression, které se přepočítávají při jakékoliv změně zobrazení.

Můžeš dát prosím příklad toho přiřazení z callbacku?
Někde tam voláš $("#něco").click(function() { … }) — tak tohle zavolej i z callbacku.
jarda0001
Profil *
Chamurappi:
Někde tam voláš $("#něco").click(function() { … }) — tak tohle zavolej i z callbacku.

není mi to jasné jak se to volá. Můžeš to prosím vysvětlit jakože pro lamu? Dík

jinak .live() funguje, ale jak to udělat s tímto kódem?
    // razeni voleb
    $( ".volba-sortable" ).sortable({
        items: "li:not(.item-not-sort-volba)",
        
        update: function(event, ui){
            var order = $(this).sortable('toArray').toString();
            $.get('ajax/sort/data/' +  order, null, function(data){
                alerts(data);
            });
        }
    });

    $( ".volba-sortable" ).disableSelection();


Předem moc dík za odpovědi.
Chamurappi
Profil
Reaguji na jardu0001:
není mi to jasné jak se to volá.
To, co jsem napsal, je příklad toho volání. Nechtěl by ses raději nejprve naučit základy JS? Funkce, metody, objekty… co je callback…

ale jak to udělat s tímto kódem?
Úplně stejně. Nechápu přesně, o co se snažíš, ale co by měla dělat funkce alerts?
jarda0001
Profil *
Chamurappi:
díky za rady, už jsem na to přišel.

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:

0