Ouvrir le Dialogue modal de Jquery sur l'événement de clic
le code ci-dessous ne fonctionne bien que pour l'Événement du premier clic. Cependant pour n'importe quel clic ultérieur rien arrive. J'ai testé ça sur firefox, ie7 mais c'est toujours le même. Ai-je raté 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>
6 réponses
$(document).ready(function () {
//$('#dialog').dialog();
$('#dialog_link').click(function () {
$('#dialog').dialog('open');
return false;
});
});
il existe un ouvert arg dans la dernière partie
Essayez ceci
$(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
});
le Meilleur à utiliser .hide() au lieu de .supprimer.)( Avec. remove () il retourne non défini si vous avez appuyé sur le lien une fois, puis fermez le modal et si vous appuyez à nouveau sur le lien modal, il retourne non défini avec .supprimer.
.hide() il ne marche pas et il fonctionne comme un jeu d'enfant. Ty pour l'extrait de code dans la première main!
si vous voulez mettre une page dans la boîte de dialogue, alors 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" Fermer " gâche à nouveau l'ouverture du dialogue avec seulement le .dialogue. )(
en utilisant votre code comme exemple, il s'introduirait comme ceci (notez que vous pourriez avoir besoin d'ajouter plus à votre code pour qu'il ait du 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>