在函数调用中打开模态而不是.click()

时间:2016-08-29 21:25:01

标签: javascript jquery

我有这个jquery函数,只要按下类型按钮就打开一个模态' btnClr'

$(document).ready(function () {
                $('#[id*=btnClr]').onload(function () {
                    $dialog.dialog('open');
                });

                var $dialog = $("#trUI").dialog({
                    autoOpen: false,
                    title: "Edit Configurations",
                    width: "auto",
                    buttons: {
                        "Submit": function (e) {
                            AddKeyValue();
                            $(this).dialog('close');
                        },
                        "Cancel": function (e) {
                            ClearKeyVal();
                            $(this).dialog('close');
                        }
                    }
                });
            });

我试图将其移动到一个函数中,以便在调用该函数时打开它,而不是在任何时候单击该按钮。

我能用这段代码实现这个目标

function modalOpen() {

                        var $dialog = $("#trUI")
                            .dialog({
                                title: "Edit Configurations",
                                width: "auto",
                                buttons: {
                                    "Submit": function(e) {
                                        AddKeyValue();
                                        $(this).dialog('close');
                                    },
                                    "Cancel": function(e) {
                                        ClearKeyVal();
                                        $(this).dialog('close');
                                    }
                                }
                            });
            }

但是,任何一个按钮只能工作一次。

有人对如何做到这一点有任何建议吗?

2 个答案:

答案 0 :(得分:0)

我相信你的问题是你也没有打开"对话框。移动$ dialog.dialog('打开');进入你写的新函数,所以无论何时调用它都会打开它。

答案 1 :(得分:0)

我能够让它运转起来。这是代码中的一个小小的变化。我不得不改变的是对话的调用("打开")

 // some function{
$("#trUI").dialog('open'); //instead of $dialog.dialog("open")
}

$(document).ready(function () {
                $("#trUI").dialog({
                    autoOpen: false,
                    title: "Edit Configurations",
                    width: "auto",
                    buttons: {
                        "Submit": function (e) {
                            AddKeyValue();
                            $(this).dialog('close');
                        },
                        "Cancel": function (e) {
                            ClearKeyVal();
                            $(this).dialog('close');
                        }
                    }
                });
            });