需要从jquery模式对话框中调用ajax函数

时间:2013-02-27 18:57:55

标签: php jquery ajax

我有一个从ajax调用加载的对话框..它运行良好。我希望在我的对话框中有一个链接,用于更新数据库并通过ajax将结果加载到父页面,而不会关闭对话框。这甚至可能吗?这是我到目前为止所拥有的。

这就是我的parent_calendar.php的父页面。 ajax调用工作正常,并打开一个加载了get_deals.php内容的对话框。

<script type="text/javascript">  
$("#calendar td").on('click', function() {
    var data = $(this).data();

     $.ajax({
        type:"GET",
            url: "get_deals.php",
            data: { monthID: data.month, dayID: data.day, yearID: data.year },
            success: function(data){
        var title = $( "#dialog" ).dialog( "option", "title", "Deals" );
        $('#dialog').dialog({
                open: function (event, ui){
                     $('a').blur();
                     $(this).scrollTop(0); 
                    }
            });
        $("#dialog").html(data).dialog("open");
         }   
    });

$("#dialog").dialog(
       {
        bgiframe: true,
        autoOpen: false,
        height: 450,
        width:900,
        modal: false,
          closeOnEscape: true

       }    
);
});

</script>

<div id="dialog" title="Dialog Title"> </div>
<div id="return"></div>

然后在我的get_deals.php脚本中我有了这个

<script type="text/javascript">  


$('#click').live('click', function(){
$.ajax({
    type:"POST",
    url: "deals_add_to_queue.php",
    data: { monthID: data.month, dayID: data.day, yearID: data.year },
    success: function(data){
                alert("Please work!");
                ("#return").html(data);
         }   
    });

});
</script>

 <a id="click" href="#">click me</a>

我无法获取此ajax调用以及更新deals_calendar.php上的内容。任何帮助都会很棒。感谢

1 个答案:

答案 0 :(得分:1)

如果未触发事件,则需要使用事件委派。

$('body').on('click', '#click' function(){

    $.ajax({
        type:"POST",
        url: "deals_add_to_queue.php",
        data: { monthID: data.month, dayID: data.day, yearID: data.year },
        success: function(data){
                    alert("Please work!");
                    ("#return").html(data);
             }   
   });

});