chiudere un jquery ui dialog con click su un bottone in maniera non modale
- Questo topic ha 2 risposte, 1 partecipante ed è stato aggiornato l'ultima volta 7 anni, 4 mesi fa da ans66.
- AutorePost
- 10 Dicembre 2016 alle 12:34 #7083ans66Partecipante
Salve a tutti!
Mi sarebbe davvero di grande aiuto capire il motivo per cui non riesco ad ottenere una chiusura di un Dialog (tipo PopUP) con lo script che segue. Grazie.
<pre class=”lang:js decode:true ” title=”apro una Dialog e la lego ad una funzione per la chiusura una volta schiacciato il bottone $(” sixteens=””>form_tag_div=”dialogPHP”;
$(“#”+form_tag_div).dialog({
autoOpen: false,
open: function() {
$(“#sixteens”).bind(‘click’, overlayclickclose);
},
close: function() {
$(“#sixteens”).unbind(‘click’);
},
height: 500,
width: 1100,
});
// inserisco nel Dialog un file PHP dove c’è il bottone $(“#sixteens”)
if(form_tag_div==”dialogPHP”) {
$.get( “tabSoggetti2.php”, function( data ) {
$(“#”+form_tag_div).html( data );
});
// funzione
function overlayclickclose() {
$(“#”+form_tag_div).dialog(‘close’);
}11 Dicembre 2016 alle 10:12 #7085ans66Partecipantein parte ho risolto in questo modo:
<pre class=”lang:js decode:true “>// salvo il dialog in una variabile mydlg
var mydlg=$(“#”+form_tag_div).dialog({
autoOpen: false,
modal: true,
close: function(event, ui){ },
height: 500,
width: 1100});
// ho più casi di utilizzo della variabile nel secondo non chiude
if(Sel!=”NUOVO SOGGETTO”) {} else {PopupCenterPHP(“indivphp”);
mydlg.dialog(“open”);}
if(Sel!=”NUOVA CATEGORIA”) {} else {
form_tag_div=”dialogPHP2″;
PopupCenterPHP(“indivphp2”);mydlg=$(“#”+form_tag_div).dialog({
autoOpen: false,
modal: true,
close: function(event, ui){ },
height: 500,
width: 1100
});
mydlg.dialog(“open”);
}function PopupCenterPHP(hidden_div)
{$(“.tabelle”).css(“left”,”-100px”);
if(form_tag_div==”dialogPHP”) {
$.get( “tabSoggetti2.php”, function( data ) {
mydlg.html( data );
});}
if(form_tag_div==”dialogPHP2″) {
$.get( “TabCateg2.php”, function( data ) {
mydlg.html( data );
});
}// pulsanti come aggiungi
$(“.uno”).css(‘background-image’, “url(images/primo2.png)”);
$(“.due”).css(‘background-image’, “url(images/indietro2.png)”);
$(“.cinque”).css(‘background-image’, “url(images/avanti2.png)”);
$(“.sei”).css(‘background-image’, “url(images/ultimo2.png)”);
$(“.sette”).css(‘background-image’, “url(images/piu2.png)”);
$(“.otto”).css(‘background-image’, “url(images/ok.png)”);
$(“.nove”).css(‘background-image’, “url(images/no.png)”);
$(“.tredici”).css(‘background-image’, “url(images/vai2.png)”);
$(“.quattordici”).css(‘background-image’, “url(images/canc2.png)”);
$(“.quindici”).css(‘background-image’, “url(images/close.png)”);$(“#”+hidden_div).show();
}
// soggetti
$(“#sixteens”).click(function(){
mydlg.dialog(“close”);
$(“.tabelle”).css(“left”,”100px”);
});// categorie
$(“#sixteenc”).click(function(){
mydlg.dialog(“close”);
$(“.tabelle”).css(“left”,”100px”);
});
credo che la dialog non diventi più visibile nel secondo caso anche se non ne comprendo il motivo14 Dicembre 2016 alle 22:06 #7086ans66PartecipanteSono riuscito a risolvere come segue:
<pre class=”lang:js decode:true “>var my_dlg;function MioDialogo(formtagdiv) {
var mydlg=$(“#”+formtagdiv).dialog({
autoOpen: false,
modal: true,
close: function(event, ui){ },
height: 500,
width: 1100});
return mydlg;
}if(Sel!=”NUOVO SOGGETTO”) {} else {
form_tag_div=”dialogPHP”;
my_dlg=MioDialogo(form_tag_div);
PopupCenterPHP(“indivphp”);
my_dlg.dialog(“open”);}
if(form_tag_div==”dialogPHP3″) {
$.get( “TabDoveAcq2.php”, function( data ) {
my_dlg.html( data );
window.dlgToclose=my_dlg; // qui dichiaro la variabile globale
});}
$(“#sixteens”).click(function(){
dlgToclose.dialog(“close”);
$(“.tabelle”).css(“left”,”100px”);
});
- AutorePost
- Devi essere connesso per rispondere a questo topic.