2

事実

  • 私はMVCプロジェクトを持っています。
  • 私はjqueryを使用しています。

問題

$('#ModalData')。empty(); 期待どおりに動作していません。

詳細

テストリンクを3回クリックすると、 ここに画像の説明を入力してください


ただし、Hello Worldは$('#ModalData')。empty();によって空になるはずでした。しかし、そうではありません。代わりに、テストリンクをクリックするたびに、モーダルダイアログが開き、新しいhelloworldが作成されます。

また、部分ビューを使用せずにhtmlを追加すると、jqueryemptyが機能することにも注意してください。何か助けはありますか?

 $(".modal").on("click", function () {

        $.ajaxSetup({

        cache: false
    });
    $("#dialog-form").dialog("open");

    $('#ModalData').empty();//not working to well

    $.get("/MedicineManagement/GetModal/", function (data)
    { $("#ModalAjaxData").append(data); });
});


$("#dialog-form").dialog({
    autoOpen: false,
    height: 400,
    width: 550,
    modal: true,
    buttons: {
        "Modify Actual Potential": function () {


            if (true) {
                $(this).dialog("close");

            }
        },
        Cancel: function () {
            $(this).dialog("close");

        }
    },
    close: function () {


    }
});

コントローラ

     [HttpGet]
        public PartialViewResult GetModal()
        {
            return PartialView("_AddMedicineList");
        }

jqueryをトリガーするHTML

 <div id="dialog-form" title="Edit Actual Potential">
        <div class="ModalAjaxData" id="ModalAjaxData"></div>
    </div>
    <a href="#" class ="modal">test </a>
4

1 に答える 1

2

AJAX成功コールバックで、次を追加します。

$("#ModalAjaxData").append(data);

#ModalAjaxDatadivのhtmlを設定する代わりに:

$("#ModalAjaxData").html(data);

また、マークアップのどこにも表示されない要素を空にしているように見える#ModalDataので、何もしないのは当然です$('#ModalData').empty();。あなたはおそらく意味し$('#ModalAjaxData').empty();ました。ただし$("#ModalAjaxData").html(data);、追加する代わりに使用する場合は、何も空にする必要はありません。

于 2012-06-13T16:22:31.627 に答える