2011-01-26 85 views
1

也許有人在那裏可以幫助我理解發生了什麼。我正在使用jQuery UI對話框()在我的項目中顯示html部分。當用戶單擊添加新時,它將顯示添加客戶端表單。但是,當用戶單擊對話框中的「添加」或「取消」按鈕時,出現錯誤,「$(this).dialog不是函數」。如果我刪除了打開的事件並在對話框中顯示一個靜態窗體,那麼按鈕工作正常。ASP.Net MVC jQuery對話框部分

ClientsController

public ActionResult ajaxCreateClient() 
{ 
    Client c = new Client(); 
    AddToViewData(c); // adds some additional info about client 
    return PartialView("__ClientForm", c); 
} 

查看:聯繫人/創建

.... 
<p> 
@Html.LabelForField(model => model.Client.Name) <!-- custom extension that I wrote --> 
@Html.TextboxFor(model => model.Client.Name) 
<a id="btnAddNew" href="javascript:void()">Add New</a> 
</p> 
.... 
<div id="addNew"></div> 

jQuery的

$(document).ready(function() { 
    $("#btnAddNew").click(function() { 
     $("#addNew").dialog("open"); 
    }); 

    $("#addNew").dialog({ 
     autoOpen: false, 
     title: "Add Client", 
     width: 410, 
     modal: true, 
     resizable: false, 
     open: function(event, ui) { 
      $(this).load("@Url.Action("ajaxCreateClient", "Clients")"); 
     }, 
     buttons: 
     { 
      "Add": function() { 
       // validate() and do something 
       $(this).dialog("close"); 
      }, 
      "Cancel": function() { 
       // do something else 
       $(this).dialog("close"); 
      } 
     } 
    }); 
}); 

謝謝!

回答

1

嘗試這樣的:

$('#addNew').dialog('close'); 
+0

是 - 我以前給那有沒有運氣試試。但是,謝謝。 – gnome 2011-01-26 17:45:54