1

ajax呼び出しからロードするダイアログボックスがあります。これはうまく機能します。ダイアログボックス内に、ダイアログを閉じずにDBを更新し、ajaxを介して結果を親ページにロードするリンクが必要です。これも可能ですか?これが私がこれまでに持っているものです。

これは、deals_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 に答える