0

我从下面的链接中获取了这段示例代码

如何使用 jQuery 关闭对话框?

$(function () {
    $("a:contains('sometext')").click(function() {
        var NewDialog = $('<div id="MenuDialog">\
            <p>This is your dialog content, which can be multiline and dynamic.</p>\
        </div>');
        NewDialog.dialog({
            modal: true,
            title: "title",
            show: 'clip',
            hide: 'clip',
            buttons: [
                {text: "Submit", click: function() {doSomething()}}
            ]
        });
        return false;
    });
});

在这里,我需要使用变量而不是值doSomething 。例如:- 如果我有一个变量 temp=confirm,则应在此处使用值确认。所以当我点击按钮时,应该调用函数确认。

我怎样才能做到这一点?

4

2 回答 2

1

如果您的确认变量是一个函数,您可以将点击函数替换为确认:

Edit:

 $(function () {
    var confirm1 = function(){
        alert("confirm function 1");
    }
    var confirm2 = function(){
        alert("confirm function 2");
    }

    var temp = confirm1;


    $("a:contains('sometext')").click(function() {
        var NewDialog = $('<div id="MenuDialog">\
            <p>This is your dialog content, which can be multiline and dynamic.</p>\
        </div>');
        NewDialog.dialog({
            modal: true,
            title: "title",
            show: 'clip',
            hide: 'clip',
            buttons: [
                {text: "Submit", click: function(){temp();}}
            ]
        });
        return false;
    });

    //  Uncomment this line if you want to change temp function
    //  temp = confirm2;

});

小提琴:http: //jsfiddle.net/nilgundag/SgFJk/4/

于 2013-09-19T05:54:23.420 回答
0

我修改了下面的代码,它可以工作..

按钮:[ {文本:“提交”,点击:函数(){eval(temp)()}}]

于 2013-09-19T06:24:39.037 回答