所以,我想在删除表格中的一行时显示弹出窗口,所以这是我的操作链接:
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.20.min.js")" type="text/javascript"></script>
@Html.ActionLink("Delete", "Delete", new { id=item.cin },new { @class = "delete-logo" ,@pkNo=item.cin})
<div id="confirmDialog" title="Warning"></div>
我的剧本:
<script type="text/javascript">
$(document).ready(function () {
buttonizeALL();
setLinks();
});
function buttonizeALL()
{
$(".delete-logo").button();
}
function setLinks()
{
//delete person
$(document).ready(function () {
$(".delete-logo").live("click", function (e) {
e.preventDefault();
var pkNo = $(this).attr("pkNo");
$("#confirmDialog").dialog({
resizable: false,
height: 200,
width: 300,
modal: true,
buttons: {
"Yes": function () {
$(this).dialog("close");
var rowNo = '#row-' + pkNo;
var url = '/Subscribers/Delete/' + pkNo;
$.ajax({
type: "Delete",
url: url,
data: {},
cache: false,
dataType: "json",
success: function () {
$(rowNo).animate({ opacity: 0.0 }, 400, function () {
$(rowNo).remove();
});
},
error: function (jqXHR, exception) {
alert('Uncaught Error.\n' + jqXHR.responseText);
}
}); //end ajax call
}, // end of yes button
"No": function () {
$(this).dialog("close");
}
} //end buttons
}); //end modal
}); //end delete
});
} //end setLinks
我的问题是弹出窗口不起作用,当我使用我的脚本而没有弹出它有效,所以如果有人有任何想法,我将非常感激。
答案 0 :(得分:1)
首先,请不要再使用“live”命令。这个被弃用而不是“on”命令。此外,无需在setLinks函数中使用$(document).ready。由于它是一个独立的函数(不是自动执行),它只会在你在doc.ready函数中调用它时被调用到内存中。
答案 1 :(得分:1)
Here是您在jsFiddle中稍微整理的示例,即我已将setLinks()代码移动到document.ready()函数中。
$(document).ready(function () {
buttonizeALL();
setLinks(); // removed this
});
此外,我已将ActionLink替换为将呈现的锚标记。 这是使用Jquery 1.8.3和jQuery UI 1.9.2。弹出接缝可以正常工作。