26

我试图在单击此链接时显示此对话框弹出表单,但它对我不起作用。过去三个小时我一直在做这个,这对我来说太令人沮丧了。

这是我的 HTML:

<a href="#" id="contactUs">Contact Us</a>
<div id="dialog" title="Contact form">
  <p>appear now</p>
</div>

这是我的 JavaScript,它在一个外部文件中:

$("#contactUs").click(function() {
  $("#dialog").dialog("open");
  return false;
});

我已经使用了这些链接,但对我无济于事:

如果有想法请告诉我,不胜感激,谢谢。

4

6 回答 6

51

这个 HTML 很好:

<a href="#" id="contactUs">Contact Us</a>                   
<div id="dialog" title="Contact form">
  <p>appear now</p>
</div>

您需要初始化对话框(不确定您是否正在这样做):

$(function() {
  // this initializes the dialog (and uses some common options that I do)
  $("#dialog").dialog({
    autoOpen : false, modal : true, show : "blind", hide : "blind"
  });

  // next add the onclick handler
  $("#contactUs").click(function() {
    $("#dialog").dialog("open");
    return false;
  });
});
于 2012-06-03T00:55:00.110 回答
8

您的问题在于对话的调用

如果您不初始化对话框,则不必通过“打开”来显示:

$("#dialog").dialog();

此外,此代码需要位于$(document).ready();函数上或位于元素下方才能正常工作。

于 2012-06-03T00:57:26.467 回答
6

使用下面的代码,它对我有用。

<script type="text/javascript">
     $(document).ready(function () {
            $('#dialog').dialog({
                autoOpen: false,
                title: 'Basic Dialog'
            });
            $('#contactUs').click(function () {
                $('#dialog').dialog('open');
            });
        });
</script>
于 2015-01-11T19:18:05.133 回答
5

这很简单,首先必须添加 HTML:

<div id="dialog"></div>

然后,它必须被初始化:

<script type="text/javascript">
  jQuery( document ).ready( function() {
    jQuery( '#dialog' ).dialog( { 'autoOpen': false } );
  });
</script>

在此之后,您可以通过代码显示它:

jQuery( '#dialog' ).dialog( 'open' );
于 2013-12-08T10:05:49.643 回答
2

您可以使用以下脚本。它对我有用

模态本身由主模态容器、页眉、正文和页脚组成。页脚包含操作,在本例中是确定按钮,页眉包含标题和关闭按钮,正文包含模式内容。

 $(function () {
        modalPosition();
        $(window).resize(function () {
            modalPosition();
        });
        $('.openModal').click(function (e) {
            $('.modal, .modal-backdrop').fadeIn('fast');
            e.preventDefault();
        });
        $('.close-modal').click(function (e) {
            $('.modal, .modal-backdrop').fadeOut('fast');
        });
    });
    function modalPosition() {
        var width = $('.modal').width();
        var pageWidth = $(window).width();
        var x = (pageWidth / 2) - (width / 2);
        $('.modal').css({ left: x + "px" });
    }

参考:-在 asp.net 中使用 jquery 的模态弹出窗口

于 2015-03-30T04:41:53.623 回答
0

您可以查看此链接:http: //jqueryui.com/dialog/

这段代码应该可以正常工作

$("#dialog").dialog();
于 2013-09-03T11:44:15.530 回答