Скажем, у вас есть что-то вроде этого в вашем шаблоне:
<div id="dialog" title="Confirm delete">Are you sure?</div>
{% for object in object_list %}
# display whatever you like here
<a id="{{ object.id }}" class="delete" href="#">Delete</a>
{% endfor %}
Тогда что-то подобное (в вашем $(document).ready
) будет работать - обратите внимание, как мы устанавливаем функцию обратного вызова, которую диалог вызывает, когданажата кнопка удаления (с использованием метода диалога ) в обработчике click
:
$("#dialog").dialog({
modal: true,
autoOpen: false
});
$("a.delete").click(function(e) {
e.preventDefault();
var id = $(this).attr('id');
$("#dialog").dialog('option', 'buttons', {
"Delete": function() {
$.post({
url: {% url myapp.views.delete %},
data: {'id': id},
success: function() {
# whatever you like, some fancy effect that removes the object
}
});
$(this).dialog("close");
},
"Cancel": function() {
$(this).dialog("close");
}
});
$("#dialog").dialog("open");
return false;
});