当autoopen设置为false时,按钮单击时不会打开jquery ui对话框

时间:2015-01-24 08:03:29

标签: c# jquery asp.net jquery-ui jquery-ui-dialog

我正在使用asp.net表单我正在处理的这个页面有一个主页,当autoopen为false时效果很好但是当autofalse为true时我不知道为什么它不起作用。代码是......

$(document).ready(function () {

         $("#dialog").dialog({
            autoOpen: false,
            appendTo: "form",

            show: {
                effect: "fade",
                duration: 1000
            },
                             hide: {
                effect: "explode",
                duration: 1000
            },

            buttons: {
                Ok: function () {
                    $("[id*=btnmsgOk]").click();
                    $(this).dialog("close");
                },
                Cancel: function () {
                    $(this).dialog("close");
                }
            }
        });

 });

我通过这个来调用这个函数..

$('<%=btnSave.ClientID %>').click(function () {
             $("#dialog").dialog("open");
          });

但它起作用了。

2 个答案:

答案 0 :(得分:0)

我试过以下,它工作正常。请注意,您错过了将放在jquery选择器中。它应该是$('#<%=btnSave.ClientID %>').click...

&#13;
&#13;
$(document).ready(function() {

  $("#dialog").dialog({
    autoOpen: false,
    appendTo: "form",

    show: {
      effect: "fade",
      duration: 1000
    },
    hide: {
      effect: "explode",
      duration: 1000
    },

    buttons: {
      Ok: function() {
        $("[id*=btnmsgOk]").click();
        $(this).dialog("close");
      },
      Cancel: function() {
        $(this).dialog("close");
      }
    }
  });

});
$("#clicktoopen").click(function() {
  $('#dialog').dialog('open');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/humanity/jquery-ui.css" type="text/css" />
<div id="dialog">DIV</div>
<button id="btnmsgOk" value="btn" style="display:none">Ok</button>
<button id="clicktoopen" value="click">Click</button>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

使用Jquery时应该知道的重要事项是PostBack属性 当回发时发生JQuery代码将获得其原始值.. 所以你应该防止回发看到它的功能..

e.preventDefaults();

我使用动画延迟表格可见,所以我不能看到对话但我自己修复了。感谢所有回应它的人。