为什么在以粗体显示行时打开对话框“elete-dialog2”(**之间)
<script type="text/javascript">
$(function () {
var deleteLinkObj;
// delete Link
$('.delete-link').click(function () {
deleteLinkObj = $(this); //for future use
$('#delete-dialog').dialog('open');
return false; // prevents the default behaviour
});
//definition of the delete dialog.
$('#delete-dialog').dialog({
autoOpen: false, width: 350, resizable: false, modal: true, //Dialog options
buttons: {
"Confirm": function () {
$.post(deleteLinkObj[0].href, function (data) { //Post to action
if (data == '@Boolean.TrueString') {
deleteLinkObj.closest("tr").hide('slow'); //Hide Row
//(optional) Display Confirmation
}
else {
//this is the line
**$('#delete-dialog2').dialog('open');**
}
});
$(this).dialog("close");
},
"Cancel": function () {
$(this).dialog("close");
}
}
});
$('#delete-dialog2').dialog({
autoOpen: false, width: 350, resizable: false, modal: true, //Dialog options
buttons: {
"Accept": function () {
$(this).dialog("close");
}
}
});
});
</script>
观点:
<h2>UNIVERSITIES</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
@Html.ValidationSummary(true)
<table>
<tr>
<th>
Name
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.IdUniversidad }) |
@Html.ActionLink("Delete", "Delete", new { id = item.IdUniversidad }, new { @class = "delete-link" })
</td>
</tr>
}
</table>
<div id="delete-dialog" title="Information">
<p>Are you sure you want to delete this?</p>
</div>
<div id="delete-dialog2" title="Error">
<p>Ooops... Something failed</p>
</div>
它只显示带有确认和取消按钮的对话框,但在尝试显示cuandro时,没有显示带有接受按钮的对话框
首先如果打开('#delete-dialog'),则在执行输入时不打开第二个对话框('#delete-dialog2')否则执行输入到此部分中的else if (data == '@Boolean.TrueString') { deleteLinkObj.closest("tr").hide('slow'); //Hide Row //(optional) Display Confirmation } else { **$('#delete-dialog2').dialog('open');** }
祝福
答案 0 :(得分:1)
这个快速测试似乎运行良好:
与您的不同之处有两点:
使用的确切标记。我猜了一下。如果我正确理解您的ASP.NET代码,您可能会为您的行使用多个ID,这是无效的标记。
$ post函数(我刚刚编写了一个失败的场景)。似乎href将正确评估 IF 您想要的是第一个数据链路的HREF。那么@Boolean.TrueString
是否有条件解决?尝试观看此表达式或console.log进行测试。