Добро пожаловать в ТАК. Вы отвечаете только с кодом ответа на вопрос, который старше 4 лет с ответом, принятым более чем с 30 голосами. Кроме того, это не объясняет, почему у ОП есть проблема, с которой он сталкивается.

я есть диалоговое окно jquery ui, которое я хочу использовать, чтобы предложить пользователю подтвердить удаление. Когда пользователь нажимает «да» или «нет», мне нужно вернуть «True» или «False», чтобы продолжить выполнение JavaScript. Проблема с приведенным ниже кодом заключается в том, что когда диалоговое окно отображается, оно сразу же выполняет команду «вернуть истину»; но пользователь еще не нажал кнопку "Да"?

Что я делаю неправильно?

HTML:

<div id="modal_confirm_yes_no" title="Confirm"></div>

Вызов Javascript:

$("#modal_confirm_yes_no").html("Are you sure you want to delete this?");
var answer = $("#modal_confirm_yes_no").dialog("open");

if (answer)
{
     //delete
}
else
{
     //don't delete
}

Jquery диалог:

$("#modal_confirm_yes_no").dialog({
                bgiframe: true,
                autoOpen: false,
                minHeight: 200,
                width: 350,
                modal: true,
                closeOnEscape: false,
                draggable: false,
                resizable: false,
                buttons: {
                        'Yes': function(){
                            $(this).dialog('close');
                            return true;
                        },
                        'No': function(){
                            $(this).dialog('close');
                            return false;
                        }
                    }
            });