2013-03-01 60 views
5

我想使用jQueryUI對話框在我的Django項目中添加一個功能,當你點擊一個鏈接(如「刪除」鏈接)時,會彈出一個jQueryUI對話框,詢問你是否真的要刪除該項目。然後,如果你點擊刪除按鈕(找到jQuery對話框),Django函數將執行刪除作業。如何將Django與JqueryUI對話框集成?

那麼如何讓刪除按鈕(找到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場出現如下「YES」或沒有」。

請幫我設計一個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> 

回答

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"); 
     } 
    } 
}); 
+0

有沒有辦法爲一個對象ID添加到JavaScript的對話?我需要我的網址看起來像是我以{%url view object.id作爲dialogUrl%}以任何方式傳遞對話url? – 2015-01-29 19:47:58