Autor | Zpráva | ||
---|---|---|---|
Majkelju Profil |
#1 · Zasláno: 30. 1. 2013, 09:03:00
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 |
#2 · Zasláno: 30. 1. 2013, 09:11:38
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 |
#4 · Zasláno: 30. 1. 2013, 09:37:30
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(); }, |
||
_es Profil |
#8 · Zasláno: 30. 1. 2013, 10:44:42
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 |
#9 · Zasláno: 30. 1. 2013, 11:00:41 · Upravil/a: Majkelju
_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"); |
||
Časová prodleva: 11 let
|
0