事实

我有一个mvc项目。
我正在使用jquery。


问题

$('#ModalData')。empty();无法正常工作。

细节

当我单击测试链接三次时,我得到


但是,您好世界应该被清空
$('#ModalData')。empty();
但事实并非如此。相反,每次我单击测试链接时,它都会打开模态对话框并创建一个新的hello世界。

另请注意,如果我不使用部分视图就追加html,则jquery为空。有什么帮助吗?

 $(".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>

最佳答案

在您的AJAX成功回调中,您将添加:

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


而不是设置#ModalAjaxData div的html:

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


另外,您似乎正在清空某些#ModalData元素,而我在标记中的任何地方都看不到它,因此$('#ModalData').empty();不执行任何操作也就不足为奇了。您可能是说$('#ModalAjaxData').empty();。但是,如果您使用$("#ModalAjaxData").html(data);而不是追加,则无需清空任何内容。

10-07 19:38
查看更多