我有一个使用 Fullcalendar 的 Rails 应用程序。它有一个输入工时的模式。模态显示很好,如果您输入数据,它将被添加到数据库中。
但是,模态不会关闭。甚至模态框右上角的取消按钮和 X 也不起作用。
我Uncaught jQuery.event.remove
在浏览器控制台中得到一个。见附图。
我有非常相似的代码在另一个应用程序中工作。我已经寻找并寻找会导致这种情况的差异 - 无济于事。
该语句不起作用是$(this).dialog "close"
. 但是,就像我说的,该语句在另一个使用 Fullcalendar 的应用程序中运行良好。
我只是不知道在哪里看。
如何追踪未捕获的错误?(我觉得它是导致错误的其他一些 javascript(不是 Fullcalendar)。)
这是创建按钮的咖啡脚本:
$("#dialog-form").dialog
autoOpen: true
height: 450
width: 400
modal: true
buttons:
"Create Labor": ->
$.create "/events/",
event:
workorder_id: workorder.val(),
actcode_id: actcode.val(),
title: title.val(),
description: description.val(),
hours: hours.val(),
starts_at: "" + start,
ends_at: "" + end,
all_day: allDay,
maxsynch: "N",
employee_id: $('#calendar').data('employeeid'),
overtime: "TRUE" if $("#overtime").is(":checked")
complete: ->
$('#calendar').fullCalendar('refetchEvents')
$(this).dialog "close"
$('#calendar').fullCalendar('refetchEvents')
$("#workorder_id").val("")
$("#title").val("")
$("#hours").val("")
$("#description").val("")
Cancel: ->
$(this).dialog "close"
这是一个屏幕截图:
谢谢您的帮助!
UDPATE
随着对话框的显示,我在浏览器控制台中输入了以下内容:
$(this).dialog("close")
并收到此消息:
Error: cannot call methods on dialog prior to initialization; attempted to call method 'close'
以下没有做任何事情:
$("#dialog-form").dialog("close")
更新2
这有助于关闭模式:
$('.ui-dialog').remove()
但是,页面是灰色的,无法正常工作。