Я использую диалоговое окно jQuery UI для отображения диалогового окна подтверждения при нажатии кнопки. Я хочу вернуть true
, когда нажата OK и ложно
в противном случае.
Связывание вызова открытия диалога в onClick
(как указано здесь здесь , $ dialog.dialog ('open «);
) событие не служит цели. Итак, в качестве обходного пути я следовал подходу, который похож на этот: http://www.perfectline.co.uk/blog/unobtrusive-custom-confirmation-dialogs-with-jquery . Есть два различия между этим подходом и моим:
Я изменил код, приведенный в ссылке примера, но он не работает , Интересно, что я делаю не так? Есть ли более дешевый способ сделать это?
Вот код, все CSS / JS ссылаются на jQuery CDN, поэтому вы должны иметь возможность скопировать код, чтобы увидеть поведение.
Control Panel
Пояснение: Обратите внимание, что это очень просто (см. решение bryan.taylor ), чтобы сделать представление формы. То, что я хочу сделать здесь, это смоделировать отправку нажатием кнопки. Больше похоже на метод JavaScript verify () .
Ваш код немного запутан, я думаю, есть гораздо более простой способ сделать это. Сначала вы должны создать экземпляр диалогового окна, а затем открыть его в событии щелчка для вашей кнопки. Код будет выглядеть примерно так:
<script>
$(document).ready(function () {
var $myDialog = $('<div></div>')
.html('You are about to start a war.<br/>Click OK to confirm. Click Cancel to stop this action.')
.dialog({
autoOpen: false,
title: 'Why so serious?',
buttons: {
"OK": function () {
$(this).dialog("close");
window.open('http://google.com/');
return true;
},
"Cancel": function () {
$(this).dialog("close");
return false;
}
}
});
$('#myOpener').click(function () {
return $myDialog.dialog('open'); //replace the div id with the id of the button/form
});
});
</script>
<div id="myOpener"></div>
Вот документация jQuery UI Dialog API, так что вы можете увидеть все ваши варианты: