Autor Zpráva
Majkelju
Profil
V souboru polozka.php otevírám pomocí jquery $().load(); dialogové okno. Do něj ze souboru detail.php načítám data. V tomto souboru pak načítám další obsah ze souboru kalkulace.php. A teprve v tomto souboru otevírám další dialogová okna. Můj dotaz zní, jak zařídit, aby při zavření toho "rodičovského" dialogu ze souboru polozka.php se zavřely i ty ostatní, které otevírám v kalkulace.php.... Jde to vůbec nějak, vzhledem ke struktuře souborů?
_es
Profil
Majkelju:
otevírám pomocí jquery $().load(); dialogové okno.
Riešiš stále len rôznu variantu toho istého problému vo viacerých vláknach ( Jak nastavit title u okna volaného jQuery). Neotváraš to pomocou jQuery, ale metódou dialog z knižnice jQuery UI a existuje k nej aj oficiálna dokumentácia, kde máš všetko detailne popísané: docs.jquery.com/UI/API/1.8/Dialog#demo
Majkelju
Profil
_es:
V tom případě se omlouvám, ano, řeším různé kejkle s jedním dialogem, myslel jsem, že je vhodné k nové otázce založit nové vlákno. Už mě to začíná frustrovat, tyhle "pitomosti" už mi zabraly víc času než napsání samotné funkcionality a stále se mi nic z toho nedaří. Na googlu pro můj případ nic.
_es
Profil
Majkelju:
Chceš používať metódu dialog, tak si teda najprv musíš dôkladne naštudovať jej dokumentáciu. Aké špeciálne skratky na vynechanie toho kroku očakávaš? Alebo, prečo čakáš, že na každé použitie tej metódy, čo ťa napadne, ti nájde Google hotový kód na podnose?
Majkelju
Profil
_es:
Koukám na tu dokumentaci, ale nějak jsem nenašel to, co potřebuju :/ Nebo mi něco stále uniká... Napadlo mě použít něco jako, že bych u toho "potomka" dal if(window.parent.document.getElementById("rodicovskyDialog")==closed) a když by bylo true, tak bych potomka zavřel (to naštěstí vím, jak se dělá:D)... Jenže jednak nevím, jestli se to takhle píše správně (s JS a jQuery teprve začínám) a jak se dostanu k id divu, který je o dva soubory "výš"....


_es:
Mě ani tak nejde o to, co umí metoda dialog, ale spíš jak k těm dialogům přistupovat, respektive k těm divům...V jednom souboru je to jasné, ale takhle netuším.
_es
Profil
Majkelju:
bych u toho "potomka" dal if(window.parent.
Znova, z iného vlákna, to upresním, žiadne nové okno ani nový dokument neotváraš, len metóda dialog vytvorí nejaký posunovateľný element - asi <div>. Na stránke je dokument len jeden, teda window.parent je to isté ako window. Na prácu s tým dialógom potrebuješ používať vlastnosti a metódy z dokumentácie tej knižnice.

nějak jsem nenašel to, co potřebuju
docs.jquery.com/UI/API/1.8/Dialog#event-beforeClose


Majkelju:
s JS a jQuery teprve začínám
Časté potíže, zajímavosti a poučné debaty » Co vlastně je jQuery?. Asi sa potrebuješ najprv lepšie naučiť základy programovania v JS. Možno ti to trochu osvetlí vlákno Javascript tutoriál.
Majkelju
Profil
_es:
Díky, něco z toho jsem projel, a už budu otravný, ale u rodiče jsem přidal
beforeClose: function(ev, ui){
            $("#modDet2").dialog( "close" );
                $("#modDet2").remove();
            },
přičemž #modDet2 je id potomka... Samozřejmě mi to nefunguje, co pořád nemůžu nikde najít je, jak vlastně zjistím, že někde je nějaký div s id modDet2, když ho mám v úplně jiném souboru...
_es
Profil
Majkelju:
někde je nějaký div s id modDet2, když ho mám v úplně jiném souboru...
Nezáleží na tom, akým spôsobom si v dokumente čo vytvoril, či v dôsledku načítania niečoho cez AJAX a nejakého pridania vrátených dát do dokumentu a pod., ale na aktuálnom stave dokumentu.

Samozřejmě mi to nefunguje
Bez živej ukážky je ťažké zistiť prečo. Nevytváraš v dokumente viacero elementov s takým id?
Majkelju
Profil
_es:
Bohužel vzhledem k nutnosti registrace myslím, že živá ukázka nebude možná :/ Id je stoprocentně jedinečné, každý dialog má id pojmenované úplně jinak. Takže jestli to dobře chápu, tak v tomhle případě se nemusí řešit nějaké předávání jako v případě parametrů? Prostě když mám na aktuální stránce otevřený dialog s nějakým id, tak bych ho měl najít z jakéhokoliv souboru?


Už to zaplaťpánbů mám! :)) Ono vlastně stačí prostě úplně jednoduše zavřít všechna dialog. okna...
$(".ui-dialog-content").dialog("close");
Díky moc za rady a linky, určitě nějaký odkazy ještě projedu.

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: