2010-08-25 4 views
0

Vous ne savez pas très bien comment procéder et espérez pouvoir vous conseiller.Obtention de données de boîte de dialogue sur Ajax Load

J'ai une boîte de dialogue qui ouvre une page via ajax. Je voudrais en quelque sorte une fois que ce dialogue a fini de charger déclencher un événement qui effectuera alors une autre action.

Quelqu'un peut-il conseiller sur la façon de faire une telle tâche.

J'espère que vous pouvez aider.

Lee

Répondre

1

Vérifiez la jQuery API documentation for ajax. Le « déclencheur » dont vous avez besoin est appelé une fonction de rappel et soit la fonction « succès », « erreur » ou « complète » (utilisé sur un succès ou erreur) est appelée lorsque vous avez terminé:

$.ajax({ 
    url: 'ajax/test.html', 
    success: function(data) { 
    $('.result').html(data); 
    alert('Load was performed.'); 
    }, 
    error: function(XMLHttpRequest, textStatus){ 
    alert(textStatus); 
    } 
}); 

Je n'étais pas Assurez-vous du script de dialogue que vous utilisez, utilisez-vous jQuery UI Dialog? Et si l'exemple ci-dessus n'aide pas, veuillez fournir le code que vous essayez de faire fonctionner.

+0

Il veut être informé lorsque la boîte de dialogue a fini de charger, et non lorsque le contenu a été reçu! – RobertPitt

+0

Eh bien, j'ai effectivement un aJax complet qui fonctionne très bien. ie, $ ('# dialog'). AjaxComplete (function() { my_function(); }); Thnak vous – Lee

1
$(".selector").dialog({ 
    open: function(event, ui) 
    { 
     //Dialog Open 
    } 
}); 

Et

$(".selector").bind("dialogopen", function(event, ui) 
{ 
    // Dialog Open 
}); 

http://jqueryui.com/demos/dialog/#event-open


Mise à jour:

$.ajax(
{ 
    url: 'ajax/test.html', 
    success: function(data) 
    { 
     var Contents = data; 
     $dialog = $('<div></div>').attr('title',Contents.title).append($('<p></p>').val($Contents.contents)); 
     $($dialog).dialog({ 
      open: function(event, ui) 
      { 
       //Dialog Open 
      } 
     }); 
    } 
}); 

que vous avez défini Sommaire portée globale de son accès à la fonction ouverte de dialogue.

+0

Salut Robert. J'ai essayé mais ça ne me donnait pas les résultats que je voulais. Il se lie à l'ouvert mais ne saisit pas le contenu. – Lee

+0

mis à jour avec un autre exemple. – RobertPitt

Questions connexes