Посмотрите на это jsfiddle. Раньше я использовал диалоги jQuery, и это тот же самый код, который я использую в другом проекте. Единственное отличие состоит в том, что я получаю библиотеки JQuery от Google вместо хостинг их сам:Почему мои кнопки jQuery не отображаются в моем диалоговом окне?
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"> </script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/jquery-ui.min.js"> </script>
<div id="dialog-confirm" title="Confirmation Required" >
<p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>Do you want to delete?</p>
</div>
<a href="http://google.com" class="deleteLink">Test Dialog</test>
Тогда у меня есть сценарий, как это:
$(document).ready(function() {
$("#dialog-confirm").dialog({
autoOpen: false,
modal: true,
resizable: false,
height:180,
});
$(".deleteLink").click(function(e) {
e.preventDefault();
var targetUrl = $(this).attr("href");
$("#dialog-confirm").dialog({
buttons : {
"Confirm" : function() {
window.location.href = targetUrl;
},
"Cancel" : function() {
$(this).dialog("close");
}
}
});
$("#dialog-confirm").dialog("open");
});
});
Диалог показывает, как ожидалось, но кнопки (Подтверждение/Отмена) не отображаются. Я думаю, что загружаю все соответствующие библиотеки jQuery и файл CSS. Есть что-то еще, что мне не хватает?
Я использовал FireBug, чтобы убедиться, что он вызывает код установки кнопки, но все же никаких кнопок.
Вы правы. Старый API jQuery позволял мне делать это неправильно. – Rondel
рад, что это сработало для вас, у меня были похожие вещи, которые случаются со мной (вот почему я теперь пытаюсь избежать ссылки на последнюю версию), такие вещи, как этот, могут ползти, когда они делают обновления. – Gordnfreeman