0

我有一个奇怪的问题,我无法理解为什么会这样。

我通过 jquery ajax 在网格视图的行单击上调用了一个页面 - 备注(比如说)。然后我将该页面(作为响应)绑定到一个 div - dvRemarks(比如说)。这个 div 在弹出窗口中打开。

弹出窗口仅第一次打开,效果很好。但是当我第二次点击时,数据会响应,但这一次弹出窗口没有打开。问题仅与弹出窗口有关,但我不明白为什么会这样?

当我再次刷新页面时,它再次仅打开 Ist 时间。

下面是jQuery: -

jQuery(function() {
            // Remarks          
            jQuery('#<%=dvRemarks1.ClientID %>').dialog({
                autoOpen: false,
                width: 600,
                modal: true
            });
            // Remarks Link
            jQuery('#lnkDialog').click(function() {
                jQuery('#<%=dvRemarks1.ClientID %>').dialog('open');
                return false;
            });
         });

以下是我在点击时调用的函数:-

function Call_Ajax(id)
    {   
        var d = new Date();
        var n = d.getMilliseconds();
        var parameters="id=" + id;
                $.ajax({
                      type: "POST",
                      url: "Remark.aspx",
                      data: {id:id, n:n},
                      success: function(response) {
                            $('#<%=dvRemarks.ClientID %>').html(response);
                            $("#lnkDialog").click();
                        },
                        error: function() {
                            alert('Some problem has been occured.');
                        }
                 });
     }     

下面是我绑定响应的 div - dvRemarks

<div id="dvRemarks1" runat="server" style="display: none;" title="Enter Remarks">
        <div id="dvRemarks" runat="server">
        </div>
</div>

谢谢。

4

1 回答 1

0

对此不确定,但请尝试以下一项。

jQuery(function() {
        // Remarks          
        jQuery('#<%=dvRemarks1.ClientID %>').dialog({
            autoOpen: false,
            width: 600,
            modal: true,  //Calling destroy on close function might help
            close: function() {
                        $(this).dialog("destroy");
                }
        });
        // Remarks Link
        jQuery('#lnkDialog').click(function() {
            jQuery('#<%=dvRemarks1.ClientID %>').dialog('open');
            return false;
        });
     });

尝试将 ajax 调用更改为

function Call_Ajax(id)
{   
    var d = new Date();
    var n = d.getMilliseconds();
    var parameters="id=" + id;
            $.ajax({
                  type: "POST",
                  url: "Remark.aspx",
                  data: {id:id, n:n},
                  success: function(response) {
                        $('#<%=dvRemarks.ClientID %>').empty().html(response); //empty function may be of some help here
                        $("#lnkDialog").click();
                    },
                    error: function() {
                        alert('Some problem has been occured.');
                    }
             });
 }     
于 2012-12-17T11:33:05.080 回答