2014-09-30 3 views
0

일부는 dropdownlist에 'selected-select'클래스가 포함 된 부분보기 (asp.net-mvc)가 있습니다. 그러나 어떻게 든 그 수업은 적용되지 않습니다. dropdownlist은 'normal'로 표시되거나 스타일이 지정됩니다.부분보기에서 스타일 및 스크립트가 작동하지 않습니다.

@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이 대화 상자에 표시됩니다. 이 관련이 있지만, jQuery 코드와 스타일이 partial view 렌더링 뷰에 배치하는 경우

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

확실하지. 처음에는 partial view과 같은 페이지에 있었지만 jquery 코드와 CSS 스타일은 아무 것도하지 않는 것 같습니다. 그렇기 때문에 나는 그것들을 재배치했다.

나는이 partial viewAJAX 호출을 통해 렌더링합니다.

+1

페이지에 추가 된 부분 뷰의 요소에'.chosen()'을 호출하십시오. –

답변

5

아마 문제는 문서 준비에 jQuery를 실행하고 나서 부분보기보기 AJAX를 렌더링하므로 jQuery가 적용되지 않는다는 것입니다. 이것을 초기화하려고 시도해보십시오.

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

훌륭해, 어떻게 생각하지 않았어!? – Quoter

+0

우수 작품! 이것은 나의 kendo-ui tabstrip (부트 스트랩 포함)에서 작동했습니다. ajaxComplete 콜백 내에서 activateTab을 호출 할 때까지 이상한 UI 요소가 제자리에 없었습니다. –

관련 문제