0

奇妙な問題があり、なぜそれが起こっているのか理解できません。

私はページを呼び出しました-グリッドviwの行クリックでjquery ajaxによるRemarks(say)。次に、そのページ(応答する)をdivにバインドしました-dvRemarks(say)。この div はポップアップで開いています。

ポップアップ ウィンドウは初回のみ開きますが、正常に動作しています。しかし、2回目にクリックすると、データが応答してきますが、今回はポップアップが開きません。問題はポップアップのみですが、なぜそうなのかわかりませんか?

ページを再度更新すると、再び開くのは 1 時間だけです。

以下は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 に答える