事实
- 我有一个 mvc 项目。
- 我正在使用jquery。
问题
$('#ModalData').empty();没有按我的预期工作。
详细信息
当我点击测试链接三次时,我得到
但是,hello world 应该被清空
$('#ModalData').empty();
但事实并非如此。相反,每次我单击测试链接时,它都会打开模式对话框并创建一个新的 hello world。
另请注意,如果我在不使用部分 View 的情况下附加 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 () {
}
});
Controller
[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);
而不是附加,则不需要清空任何内容。
关于第二次执行 onclick 模式对话框后,Jquery 不清空部分 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11019165/