Javascript 对话框不是函数(如何显示自定义对话框)
我想在我的web应用程序上显示一个自定义对话框。所以我在构建这个代码:Javascript 对话框不是函数(如何显示自定义对话框),javascript,jquery,Javascript,Jquery,我想在我的web应用程序上显示一个自定义对话框。所以我在构建这个代码: <script type="text/javascript"> var mappaRisposte = @Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.mappaRisposte)); ConfirmDialog('Are you sure'); function ConfirmDialog(message)
<script type="text/javascript">
var mappaRisposte = @Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.mappaRisposte));
ConfirmDialog('Are you sure');
function ConfirmDialog(message) {
$('<div></div>').appendTo('body')
.html('<div><h6>' + message + '?</h6></div>')
.dialog({
modal: true,
title: 'Delete message',
zIndex: 10000,
autoOpen: true,
width: 'auto',
resizable: false,
buttons: {
Yes: function () {
// $(obj).removeAttr('onclick');
// $(obj).parents('.Parent').remove();
$('body').append('<h1>Confirm Dialog Result: <i>Yes</i></h1>');
$(this).dialog("close");
},
No: function () {
$('body').append('<h1>Confirm Dialog Result: <i>No</i></h1>');
$(this).dialog("close");
}
},
close: function (event, ui) {
$(this).remove();
}
});
}
</script>
我在控制台中遇到此错误:
TypeError: $(...).appendTo(...).html(...).dialog is not a function
据我所知,您尝试使用同一个对话框对象两次,但在第二次尝试中,您会得到一个错误 尝试保存实例全局(不在函数内),如: 然后像这样重复使用它:
myDialog.dialog("close"); // or maybe: myDialog.close();
目前,您正在函数上下文中使用“$(this).dialog(“close”);”。因此,“this”是函数,而不是对话框。尝试使用
$(“#dialog”)。dialog('open')代码>我已经更新了我的代码。特别是误差函数。在endFirstPartSummary()函数中,我调用了ConfirmDialog();在这种情况下,我得到了一个错误。
TypeError: $(...).appendTo(...).html(...).dialog is not a function
const myDialog = $("#dialog").dialog('open');
myDialog.dialog("close"); // or maybe: myDialog.close();