Le code ci-dessous ne fonctionne que pour l'événement du premier clic. Cependant, pour les clics ultérieurs, rien ne se passe ... J'ai testé cela sur Firefox, c'est-à-dire7 mais toujours le même. Est-ce que je manque quelque chose?
<script type="text/javascript">
$(document).ready(function() {
//$('#dialog').dialog();
$('#dialog_link').click(function() {
$('#dialog').dialog();
return false;
});
});
</script>
</head><body>
<div id="dialog" title="Dialog Title" style="display:none"> Some text</div>
<p id="dialog_link">Open Dialog</p>
</body></html>
essayer
$(document).ready(function () {
//$('#dialog').dialog();
$('#dialog_link').click(function () {
$('#dialog').dialog('open');
return false;
});
});
il y a un argument ouvert dans la dernière partie
Essaye ça
$(function() {
$('#clickMe').click(function(event) {
var mytext = $('#myText').val();
$('<div id="dialog">'+mytext+'</div>').appendTo('body');
event.preventDefault();
$("#dialog").dialog({
width: 600,
modal: true,
close: function(event, ui) {
$("#dialog").remove();
}
});
}); //close click
});
Et en HTML
<h3 id="clickMe">Open dialog</h3>
<textarea cols="0" rows="0" id="myText" style="display:none">Some hidden text display none</textarea>
$(function() {
$('#clickMe').click(function(event) {
var mytext = $('#myText').val();
$('<div id="dialog">'+mytext+'</div>').appendTo('body');
event.preventDefault();
$("#dialog").dialog({
width: 600,
modal: true,
close: function(event, ui) {
$("#dialog").hide();
}
});
}); //close click
});
Mieux vaut utiliser .hide () au lieu de .remove (). Avec .remove (), il retourne undefined si vous avez appuyé une fois sur le lien, fermez le modal et si vous appuyez à nouveau sur le lien modal, il retourne undefined avec .remove.
Avec .hide () ça ne marche pas et ça marche comme une brise. Ty pour l'extrait dans la première main!
Si vous voulez mettre une page dans la boîte de dialogue, vous pouvez utiliser ces
function Popup()
{
$("#pop").load('login.html').dialog({
height: 625,
width: 600,
modal:true,
close: function(event,ui){
$("pop").dialog('destroy');
}
});
}
HTML:
<Div id="pop" style="display:none;">
</Div>
Peut être utile ... :)
$(document).ready(function() {
$('#buutonId').on('click', function() {
$('#modalId').modal('open');
});
});
Essayez d'ajouter cette ligne avant votre ligne de dialogue.
$( "#dialog" ).dialog( "open" );
Cette méthode a fonctionné pour moi. Il semble que la commande "close" gâche l'ouverture de la boîte de dialogue avec seulement le fichier .dialog ().
En utilisant votre code comme exemple, cela irait comme ceci (notez que vous devrez peut-être ajouter plus de code à votre code pour que cela ait un sens):
<script type="text/javascript">
$(document).ready(function() {
//$('#dialog').dialog();
$('#dialog_link').click(function() {
$( "#dialog" ).dialog( "open" );
$('#dialog').dialog();
return false;
});
});
</script>
</head><body>
<div id="dialog" title="Dialog Title" style="display:none"> Some text</div>
<p id="dialog_link">Open Dialog</p>
</body></html>