Всплывающее диалоговое окно jquery

Я пытаюсь получить эту всплывающую форму диалога, чтобы отображаться, когда эта ссылка нажата, но она не работает для меня. Я работаю над этим в течение последних трех часов, и это становится слишком расстраивающим для меня.

Вот мой 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;
});

Я использовал эти ссылки, но безрезультатно для меня.

http://jqueryui.com/demos/dialog/#modal

http://jqueryui.com/demos/dialog/#default

Пожалуйста, дайте мне знать, если есть идеи, очень ценимые, спасибо.

Ответы

Ответ 1

Этот 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;
  });
});

Ответ 2

Ваша проблема заключается в вызове диалога

Если вы не инициализируете диалог, вам не нужно передавать "open", чтобы он отображал:

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

Кроме того, этот код должен находиться в функции $(document).ready(); или быть ниже элементов для его работы.

Ответ 3

Это довольно простой, первый HTML должен быть добавлен:

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

Затем он должен быть инициализирован:

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

После этого вы можете показать его по коду:

jQuery( '#dialog' ).dialog( 'open' );

Ответ 4

Используйте ниже код, он работал у меня.

<script type="text/javascript">
     $(document).ready(function () {
            $('#dialog').dialog({
                autoOpen: false,
                title: 'Basic Dialog'
            });
            $('#contactUs').click(function () {
                $('#dialog').dialog('open');
            });
        });
</script>

Ответ 5

Вы можете использовать следующий script. Это сработало для меня

Сам модал состоит из основного модального контейнера, заголовка, тела и нижнего колонтитула. Нижний колонтитул содержит действия, которые в этом случае являются кнопками ОК, заголовок содержит заголовок и кнопку закрытия, а тело содержит модальный контент.

 $(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" });
    }

Обратите внимание: - Модальное всплывающее окно с использованием jquery в asp.net

Ответ 6

Вы можете проверить эту ссылку: http://jqueryui.com/dialog/

Этот код должен работать нормально

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