2013-07-24 220 views
-2

我想添加一個JQuery UI確認對話框,但我不明白它... 可能是你可以幫助我。JqueryUI確認對話框

我有一個網格和最後一行調用了刪除與onClick事件的元素...

grid.Column(header: loc.GetText("CourseManagement_Action_Delete"), format: @<text><a href="@Url.Action("DeleteCourse", new { courseId = item.CourseId })" onclick="ConfirmDelete(item.courseID);"><img id="deleteImage" class="buttonHover" src="@Href("~/Content/images/delete.png")" alt="" style="border: none; position: relative;" /></a></text>, style: "columnWidth") 

在我的JavaScript我有以下

function ConfirmDelete() { 
    return confirm("Really delet"); 
} 

我想改變它得到一個JQuery UI確認對話。我怎麼能意識到它?

感謝您的幫助。

+0

jQuery UI沒有「確認對話框」。他們有簡單的對話框,你可以通過設置他們的'modal'屬性爲'true'來操縱它們,從而表現得像一個確認對話框。查看jQuery UI對話框小部件的API文檔以獲取更多信息。 –

+0

您可能還想拼寫**正確刪除** – Eonasdan

回答

1

您需要爲頁面中的對話框添加標記。像這樣的事情,例如:

<div id="dialog-confirm" title="Delete record" style="display:none;"> 
    <p><span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>Are you sure?</p> 
</div> 

,然後改變你的ConfirDelete功能如下:

function ConfirmDelete(courseID) { 
    $("#dialog-confirm").dialog({ 
     resizable: false, 
     height:240, 
     modal: true, 
     buttons: { 
      "Delete item": function() { 
       $(this).dialog("close"); 
       var action = '@Url.Action("DeleteCourse", new { courseID = "_id_" })'; 
       action = action.replace("_id_", courseID); 
       window.location = action; 
      }, 
      Cancel: function() { 
       $(this).dialog("close"); 
       return false; 
      } 
     } 
    }); 
    return false; //The actual submission of the form happens in the click handler for the delete button 
} 

需要從

onclick="ConfirmDelete(item.courseID);" 

更改爲標題的onclick事件處理程序:

onclick="return ConfirmDelete(item.courseID);"> 

Fiddle

+0

您好,感謝您的幫助。我之前的測試中有一個錯誤。所以已經onclick =「返回ConfirmDelete();」當我用你的代碼嘗試它時,我在我的Html.RenderAction System.Web.Mvc.HttpHandlerUtil + ServerExecuteHttpHandlerAsyncWrapper中得到一個異常。你有什麼想法爲什麼? – user2286914

+0

@ user2286914不幸的是我不知道爲什麼你有這樣的例外,但我知道我的答案應該可以在你提供的jsfiddle中驗證。你現在得到的錯誤似乎與這個問題完全無關。 – Icarus

+0

好吧,這是奇怪的...... bacause,如果我使用以下函數ConfirmDelete(){ return confirm(「Kurs wirklichlöschen?」);我們不明白爲什麼它有$('form')。submit(); //提交表單 – user2286914