2014-09-30 68 views
0

我有一個局部視圖(asp.net-mvc),其中包含幾個dropdownlist的''選擇'選擇'類。但不知何故,這個班不適用。 dropdownlist的顯示/樣式爲「正常」。樣式和腳本不能在部分視圖中工作

@using (var f = Html.Bootstrap().Begin(new Form("Home", "Index").FormMethod(FormMethod.Post).Type(FormType.Horizontal).InputWidthMd(12))) 
{ 
    @f.FormGroup().DropDownListFor(model => model.Currency, Model.Currencies).Class("chosen-select") 

    @f.FormGroup().ListBoxFor(model => model.CountryIds, Model.Countries).ShowValidationMessage(false).HtmlAttributes(new { @class = "chosen-select" }) 

    @f.FormGroup().ListBoxFor(model => model.USStateIds, Model.USStates).Id("usStates").ShowValidationMessage(false).HtmlAttributes(new { @class = "chosen-select" }) 

    @Html.Bootstrap().SubmitButton().Text(Resources.Form.Save).Class("btn btn-primary").HtmlAttributes(new { @style = "float:right;" }) 
} 

這個partial view顯示在一個對話框中。

$(document).ready(function() { 
     $('.chosen-select').chosen(); 
}); 

不知道,如果是相關的,但jQuery代碼和樣式都放在呈現此partial view的看法。起初,它與partial view位於同一頁面,但jQuery代碼和css樣式似乎沒有任何作用。這就是爲什麼我搬遷他們(不知道這是否相關)。

我正在渲染這個partial view順便說一句,通過調用AJAX

+1

調用'.chosen()'在部分視圖中的元素_after_他們已被添加到頁面。 – 2014-09-30 18:22:41

回答

5

也許問題是,你正在文檔準備好執行你的jQuery,然後呈現局部視圖視圖AJAX後綴,所以jQuery永遠不會被應用。嘗試這樣做以初始化選擇:

$(document).ajaxComplete(function() { 
    $('.chosen-select').chosen(); 
}); 
+0

輝煌,我怎麼沒有想到這個!? – Quoter 2014-09-30 19:01:34

+0

出色的工作!這工作在我的kendo-ui tabtrip(帶引導程序)。在我調用ajaxComplete回調函數中的activateTab之前,我有奇怪的UI元素不合適。 – 2016-12-08 18:05:44