这是我的jquery for dialog
</script>
<script type="text/javascript">
$.ajaxSetup({ cache: false });
$(document).ready(function () {
$(".openDialog").live("click", function (e) {
e.preventDefault();
$("<div></div>")
.addClass("dialog")
.attr("id", $(this)
.attr("data-dialog-id"))
.appendTo("body")
.dialog({
title: $(this).attr("data-dialog-title"),
minWidth: 200,
minHeight: 100,
resizable: false,
close: function () { $(this).remove() },
modal: true
// buttons:{
// close:function(e){
// e.preventdefault();
// $(this).closest(".dialog").dialog("close");
// }}
})
.load(this.href);
});
$(".close").live("click", function (e) {
e.preventDefault();
$(this).closest(".dialog").dialog("close");
});
$(".refresh").live("click", function (e) {
e.preventDefault();
location.reload();
});
});
</script>
这是我的删除视图
@using (Html.BeginForm()) {
<div>
<p>Are you sure you want to delete?</p>
@Html.HiddenFor(model=>model.UId)
<table border=0>
<tr>
<td>Name:</td>
<td>@Html.DisplayFor(model =>model.FName)
@Html.DisplayFor(model => model.LName)</td>
</tr>
<tr>
<td>PAddress:</td>
<td>@Html.DisplayFor(model => model.PAddress)</td>
</tr>
</table>
<input type="submit" value="Yes"/>
<button class="close">No</button>
</div>
}
问题是当我从按钮调用close类时,对话框没有关闭。但是当我删除preventDefault时,对话框关闭了。任何帮助,请为什么对话框没有关闭。
答案 0 :(得分:2)
$(".close").live("click", function (e) {
e.preventDefault();
$('#yourdivId').closest(".dialog").dialog("close");
});
试试这个......
答案 1 :(得分:1)
$(".close").live("click", function (e) {
e.preventDefault();
$(this).closest(".dialog").dialog("close");
});
将此代码放入
$(document).ready(function () {
这可能对你有用......
答案 2 :(得分:1)
这里你不需要用户preventDefault()函数。 preventDefault()用于防止事件的不必要的默认操作。
例如,当您单击某个链接时,它会将您重定向到另一个页面。如果您希望该链接执行其他操作,则需要阻止默认并编写操作。
由于此按钮没有默认操作(使用“type”属性定义),因此您无需使用preventDefault()。
答案 3 :(得分:1)
首先,您将$.ajaxSetup({ cache: false });
放入文档就绪函数中。
答案 4 :(得分:1)
您可以像这样更改删除视图。
<div>
@using (Html.BeginForm()) {
<p>Are you sure you want to delete?</p>
@Html.HiddenFor(model=>model.UId)
<table border=0>
<tr>
<td>Name:</td>
<td>@Html.DisplayFor(model =>model.FName)
@Html.DisplayFor(model => model.LName)</td>
</tr>
<tr>
<td>PAddress:</td>
<td>@Html.DisplayFor(model => model.PAddress)</td>
</tr>
</table>
<input type="submit" value="Yes"/>
}
<button class="close">No</button>
</div>
答案 5 :(得分:1)
$(".ui-dialog").hide();
$(".ui-widget-overlay").hide();