1

我有一个从 ajax 调用加载的对话框。它工作得很好。我想在我的对话框中有一个链接,用于更新数据库并通过 ajax 将结果加载到父页面,而无需关闭我的对话框。这甚至可能吗?这是我到目前为止所拥有的。

这就是我的名为 deal_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 上的内容。任何帮助都会很棒。谢谢

4

1 回答 1

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

});
于 2013-02-27T19:02:14.250 回答