5

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

那么如何让删除按钮(找到 jQuery 对话框)向我的 views.py 中的 Django 函数发送一条发布消息(带有相应的变量)来执行删除工作?

考虑我正在使用 view.py 文件(在 Django 中),如下所示

def deletebook(request,book_id):
    books=Book.objects.get(pk=book_id)
    books.delete()
    return redirect('/index/')

我的要求是,如果我按下删除选项,会立即出现一个确认对话框,其中包含 2 个字段,如下“是”或“否”。

请帮助我设计一个 html 页面和一个 view.py 页面以使用 jQuery 进行开发。

我的 HTML 页面是

<form action="/deletebook/{{ books.book_id}}/" method="POST"> {% csrf_token %}
<table>
  <tr>
    <td align="right">Book Name :<br><br><br> </td> 
    <td align="left"><input type="text" name="book_name" value="{{books.book_name}}"></input><br><br><br></td>
  </tr>
  <tr>   
    <td align="right">Author Name :<br><br><br></td> 
    <td align="left"> <input type="text" name="author_name" value="{{books.author_name}}"></input><br><br><br></td>
  </tr>
  <tr>
    <td align="right">Publisher Name : <br><br><br></td>
    <td align="left"><input type="text" name="publisher_name" value="{{books.publisher_name}}"></input><br><br><br></td><br><br><br>
  </tr>
</table>
<td><input type="submit" value="Delete"><td> 
</form>
4

1 回答 1

1

您应该为对话框准备 div:

<div id="dialog">
    #some text here
</div>

并链接哪个初始化打开对话框:

<a href='#' onclick='javascript:openDialog()'></a>

和js openDialog函数:

function openDialog(){
    $('#dialog').dialog('open');
}

和对话框定义:

$( "#dialog-form-ajax" ).dialog({
    autoOpen: false,
    buttons: {
        "Delete": function() {
            $.ajax({
                 #ajax call for delete
                 #with url pointing to your delete function
            });
            $( this ).dialog( "close" );
        },
        "Cancel": function() {
            $( this ).dialog( "close" );
        }
    }
});
于 2013-03-01T09:25:24.880 回答