Django/JqueryUI对话框 - 如何将Django与JqueryUI对话框集成?

ava*_*tar 2 django jquery jquery-ui django-forms django-views

我想使用jQueryUI对话框在我的Django项目中添加一个功能,当你点击链接(如"删除"链接)时,会弹出一个jQueryUI对话框,询问你是否真的要删除该项.然后,如果单击删除按钮(找到jQuery对话框),Django函数将执行删除作业.

那么如何使删除按钮(找到jQuery对话框)发送一条帖子消息(带有相应的变量)到我的views.py中的Django函数,它将执行删除作业?

真实的例子将是真正的赞赏!

Ism*_*awi 9

假设你的模板中有这样的东西:

<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 %}
Run Code Online (Sandbox Code Playgroud)

然后这样的事情(在你的$(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;
});
Run Code Online (Sandbox Code Playgroud)