在Ajax负载上获取对话框数据

时间:2010-08-25 11:36:11

标签: jquery ajax dialog

不太确定如何执行以下操作,希望您能提出建议。

我有一个对话框,可以通过ajax打开一个页面。我想以某种方式在此对话框完成加载时触发一个事件,然后执行其他操作。

任何人都可以建议如何完成这项任务。

希望你能提供帮助。

2 个答案:

答案 0 :(得分:1)

查看jQuery API documentation for ajax。您需要的“触发器”称为回调函数,完成后调用“成功”,“错误”或“完成”(用于成功或错误)函数:

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

我不确定您使用的对话脚本是什么,您使用的是jQuery UI Dialog吗?如果上面的示例没有帮助,请提供您尝试工作的代码。

答案 1 :(得分:1)

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

并且

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

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


更新

$.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
           }
        });
    }
});

当您将内容定义为全局范围时,可以在对话框的打开功能中访问它。