【问题标题】:JQuery Dialog - only load when button clickJQuery 对话框 - 仅在单击按钮时加载
【发布时间】:2013-03-27 15:29:49
【问题描述】:

使用 JQuery 对话框http://jqueryui.com/dialog/#modal-confirmation 该对话框在页面加载时出现我只希望它在单击“删除发票”时出现。

我试过了:<input id="RemoveInvoice" type="button" value="Remove Invoice" onclick="ConfirmDeleteInvoice()" />

然后将实际的 JS 放入 ConfirmDeleteInvoice 函数中:

  function ConfirmDeleteInvoice() {
      //  $(function () { //removed this line and added the above line
        $("#dialog-confirm").dialog({
            resizable: false,
            height: 140,
            modal: true,
            buttons: {
                "Are you sure you want to delete this invoice": function () {
                    $(this).dialog("close");
                },
                Cancel: function () {
                    $(this).dialog("close");
                }
            }
        });
    });
    }

错误:JavaScript 运行时错误:“ConfirmDeleteInvoice”未定义

抱歉还是JS的初学者,请多多包涵。 谢谢

【问题讨论】:

  • 你把你的javascript放在哪里了?头?
  • 尝试:$('#RemoveInvoice').on('click', function(){}); 并将 ConfirmDeleteInvoice 中的所有内容放入该匿名函数中,并从元素中删除 onclick。
  • 您可以将ConfirmDeleteInvoice() 函数放在点击处理程序中。顺便说一句,我不知道您是否粘贴了代码,但它有一些额外的括号

标签: javascript jquery asp.net jquery-ui


【解决方案1】:

在最后一个右大括号之前有一个额外的尾随});,把它去掉就可以了。

另外,在我的小提琴中,你会看到我在 jQuery 中添加了点击事件,因为 HTML 中的onclick 被认为是不好的做法。我通过添加:

$("#RemoveInvoice").click(ConfirmDeleteInvoice);

请看这里:http://jsfiddle.net/P4VHw/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多