0

jQuery ダイアログを使用して、他のページをメイン ページのダイアログにロードしています。他のページにはアンカー タグが含まれている可能性があり、load 関数の完了イベントを使用して、コンテンツが読み込まれた div 内のすべてのアンカー タグを選択しています。次に、メイン ページに含まれる div にコンテンツが読み込まれるように、アンカー タグのクリック イベント ハンドラーを接続します。これは機能しますが、2 回しかありません。以下のサンプル コードを実行すると、Partial1 がダイアログに表示されます。ダイアログで Partial2 リンクをクリックすると、Partial1 がダイアログに読み込まれますが、今度は Partial2 リンクをクリックすると、メイン ページに読み込まれます。私が間違っていること、および/または把握できていないことは何ですか?

ホーム/インデックス:

<a href="/Home/Partial1" id="help">Partial 1</a>

<div id="dialog" style="display: none">

</div>


<script type="text/javascript">
    $(document).ready(function () {
        $("#help").click(function () {
            adjustNestedAnchors($(this));
            $("#dialog").dialog().show();
            return false;
        });

        function adjustNestedAnchors(element) {
            $("#dialog").load($(element).attr("href"),
                function (response, status, xhr) {
                    if (status != "error") {
                        $("#dialog a").click(function () {
                                $("#dialog").load($(this).attr("href"), adjustNestedAnchors($(this)));
                                return false;
                        });
                    }
                });
        }
    });
</script>

ホーム/部分1

This is a sample partial view, which has a link back to <a href="/Home/Partial2">Partial2</a>.

ホーム/部分2

This is a sample partial view, which has a link back to <a href="/Home/Partial1">Partial1</a>.
4

1 に答える 1