【问题标题】:With Jquery UI Dialog, I want to know ok button selected or cancel button使用 Jquery UI 对话框,我想知道选择了确定按钮或取消按钮
【发布时间】:2012-05-09 19:59:27
【问题描述】:

我想使用 JQUERY UI,但我遇到了问题。我想在对话框中选择按钮,然后在我的页面中执行某些操作。这些是我用来生成对话框的代码:

<script type="text/javascript">
        $(function(){

            // Dialog
            $('#dialog').dialog({
                resizable: false,
                autoOpen: false,
                width: 300,
                height: 140,
                modal: true,
                buttons: {
                    "Ok": function() {
                        $(this).dialog("close");
                    },
                    "Cancel": function() {
                        $(this).dialog("close");
                    }
                }
            });

            // Dialog Link
            $('#dialog_link').click(function(){
                $('#dialog').dialog('open');
                return false;
            });

        });
    </script>
<body>
    <a href="#" id="dialog_link">Open Dialog</a>
    <!-- ui-dialog -->
    <div id="dialog" title="Dialog Title">
        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit</p>
    </div>
</body>

【问题讨论】:

  • 你想做的“事情”是什么?

标签: jquery jquery-ui dialog


【解决方案1】:

您可以在每个$(this).dialog("close"); 行之后调用与按钮相关的函数。您有两次对话框关闭行,每个按钮一次,因此每个按钮后面都可以有不同的函数调用。

【讨论】:

    【解决方案2】:

    嗯,jQuery 负责知道你按下了什么按钮,基本上。因此,在创建对话框期间,您可以指定对每个按钮的单击事件执行的操作。

    您可以调用特定的函数或直接编写代码行,如下所示:

    buttons: {
        "Ok": function() {
            $(this).dialog("close");
            console.log("Inline code example");
            myOkFunction();
        },
        "Cancel": function() {
            $(this).dialog("close");
            myCancelFunction();
        }
    }
    
    function myOkFunction(){
        //Something that will happen on "Ok" button clicked.
    }
    
    function myCancelFunction(){
        //Something that will happen on "Cancel" button clicked.
    }
    

    但是,您可以在执行期间通过调用小部件选项来更改要执行的代码,如下所示:

    $(yourDialog).dialog("option","buttons",{
        "Ok":function(){
            var i = 0; //Inline code example
            this.Dialog("close");
            myNewOkFunction();    
        }
    });
    

    但请注意,这将覆盖对话框中的所有按钮,因此如果您有多个按钮,则需要全部重新编写。

    【讨论】:

      猜你喜欢
      • 2010-10-31
      • 1970-01-01
      • 2013-07-30
      • 1970-01-01
      • 2012-01-10
      • 1970-01-01
      • 2014-08-22
      • 2010-12-20
      • 2011-02-01
      相关资源
      最近更新 更多