事实
我有一个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);
而不是追加,则无需清空任何内容。