Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击JQuery中的按钮打开一个UI对话框_Javascript_Jquery_Html_Ajax_Jquery Ui - Fatal编程技术网

Javascript 单击JQuery中的按钮打开一个UI对话框

Javascript 单击JQuery中的按钮打开一个UI对话框,javascript,jquery,html,ajax,jquery-ui,Javascript,Jquery,Html,Ajax,Jquery Ui,我以前在这个论坛上的qstn是关于动态地将文本分配给jquery中的按钮的,我在这里得到了解决方案。现在我的问题是,单击该按钮后,我必须打开另一个包含2个按钮的UI对话框。我已经编写了以下代码。我可以打开UI对话框,但按钮没有出现。请帮我修改代码 <html> <head> <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquer

我以前在这个论坛上的qstn是关于动态地将文本分配给jquery中的按钮的,我在这里得到了解决方案。现在我的问题是,单击该按钮后,我必须打开另一个包含2个按钮的UI对话框。我已经编写了以下代码。我可以打开UI对话框,但按钮没有出现。请帮我修改代码

<html>
    <head>
        <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" /> 
        <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
        <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
    </head>
    <body>
        <div id="selector" title="Pop Up" class = "selector"> <p><span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span> Do u want to save the score?</p> </div>
        <script>
        var monthNames = ["January", "February", "March", "April", "May", "June",                    "July", "August", "September", "October", "November", "December"];
        var today = new Date();
        var month = monthNames[today.getMonth()];
        var nextMonth = monthNames[today.getMonth() + 1];

        $(".selector").dialog({buttons: [
                {
                    text: month,
                    click: function() {
                     $("#opener").dialog({modal: true, height: 590, width: 1005 });
                        $(this).dialog("close");
                    }
                },
                {
                    text: nextMonth,
                    click: function() {
                        $(this).dialog('close');
                    }
                }
            ]});

        </script>
        <script>

          $(".opener").dialog({buttons: [
                {
                    text: "ok",
                    click: function() {
                        $(this).dialog("open");
                    }
                },
                {
                    text: "cancel",
                    click: function() {
                        $(this).dialog('open');
                    }
                }
            ]});

    </script>

    <div id="opener" title="Pop Up" class = "opener" width ="100px"> 
    <p><span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>
    Score will be updated</p> </div>


</body>

你想保存分数吗?

var monthNames=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”]; var today=新日期(); var month=monthNames[today.getMonth()]; var nextMonth=monthNames[today.getMonth()+1]; $(“.selector”)。对话框({按钮:[ { 正文:年月日, 单击:函数(){ $(“#opener”).dialog({model:true,高度:590,宽度:1005}); $(此).dialog(“关闭”); } }, { 正文:下个月, 单击:函数(){ $(this.dialog('close'); } } ]}); $(“.opener”)。对话框({按钮:[ { 文字:“ok”, 单击:函数(){ $(此).dialog(“打开”); } }, { 文本:“取消”, 单击:函数(){ $(this.dialog('open'); } } ]}); 分数将被更新


好吧,您没有指定要在这行代码中显示的任何按钮:

$("#opener").dialog({modal: true, height: 590, width: 1005 });
也许你想这样做,不打开:

  // did you mean to select #opener or .opener??
  $("#opener").dialog({buttons: [
        {
            text: "ok",
            click: function() {
                $(this).dialog("open");
            }
        },
        {
            text: "cancel",
            click: function() {
                $(this).dialog('open');
            }
        },
        autoOpen: false
    ]});
然后在另一个对话框的另一行打开它,如下所示:

$("#opener").dialog('open');

您的控制台中有错误吗?@Tushar-->因为我不熟悉这个it领域,所以我不知道什么是小提琴。这是什么?@Kiel->它没有给出任何错误。您给定的代码工作正常。Manish,单击按钮后,对话框将打开。但是Buttons没有出现在对话框中。嗨,我试着使用上面的代码。将.opener更改为#opener并放入$(“#opener”).dialog('open')。但是不行,凯,我试着用你的完整代码回答这个问题。根据我的建议,您需要将第二个脚本语句包装在
$(function(){…})中语句,因此
opener
对话框将在DOM就绪时初始化。然后,您可以通过
$('opener')在第一个对话框的单击处理程序中打开它我尝试将脚本包装到函数中。但仍然不起作用-(你能看一下这把小提琴并描述一下,什么东西的表现不像你想象的那样?嘿,非常感谢。它工作得很好!!我错过了一个结束括号(在宣布功能之前我没有打开一个括号)。因为我是一个新手,所以我还不太懂语法。非常感谢……)