Диалоговое окно jQuery UI, не закрывать и не выполнять

0

Для жизни меня не получается, когда скрипт не будет выполняться при нажатии кнопки "Да"?

Ничего не записано в консоли.

Может кто-нибудь помочь? :)

Fiddle находится здесь: http://jsfiddle.net/MCam435/NYWg2/2/

HTML:

<div id="reqtalkdialog" title="Confirmation Required">
  Would you like to request contact?
</div>

<div id="reqtalk100006" style="display:block"><a href="#" class="reqtalk" id="100006">
<span class="reqtalk_b"> + Talk </span></a></div>

JQuery:

$("#reqtalkdialog").dialog({
   autoOpen: false,
   modal: true,
   buttons : {
        "Yes" : function() {
            var element = $(this);
            var I = element.attr("id");
            var info = 'id=' + I;

            $.ajax({
                type: "POST",
                url: "resource/talkrequest.php",
                data: info,
                success: function(){}
            });

            $("#reqtalk"+I).hide();
            $("#talking"+I).show();
            return false;

            $(this).dialog("close");           
            },

        "Cancel" : function() {
          $(this).dialog("close");
        }
      }
    });

$(".reqtalk").on("click", function(e) {
    e.preventDefault();
    $("#reqtalkdialog").dialog("open");
});
Теги:

1 ответ

2
Лучший ответ

Перед закрытием диалогового окна вы возвращаете false.

Удалите эту строку, и она работает: http://jsfiddle.net/A6TbN/

$("#reqtalkdialog").dialog({
   autoOpen: false,
   modal: true,
   buttons : {
    "Yes" : function() {
        var element = $(this);
        var I = element.attr("id");
        var info = 'id=' + I;

        $.ajax({
            type: "POST",
            url: "resource/talkrequest.php",
            data: info,
            success: function(){}
        });

        $("#reqtalk"+I).hide();
        $("#talking"+I).show();
        // return false;            

        $(this).dialog("close");

        },

    "Cancel" : function() {
      $(this).dialog("close");
    }
  }
});

$(".reqtalk").on("click", function(e) {
    e.preventDefault();
    $("#reqtalkdialog").dialog("open");
});
  • 0
    Аааа, я знал, что это было что-то глупое. Теперь мне нужно выяснить, почему я вообще вернул false там. Спасибо!
  • 0
    @ Mcam435 Нет проблем. Не забудьте пометить ответ как принятый, если он решит вашу проблему!
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню