2012-08-31 3 views
5

XAJAX을 통해로드 된 후 Chosen jQuery plugin을 선택 상자에 적용하려고합니다. 여기에 코드입니다 :jQuery "선택"선택 상자 - AJAX가 선택 요소를로드 한 후 스타일을 적용하는 방법

일반적으로, 나는 페이지로드 시작하고 클래스의 모든 선택 상자가 제대로 적절하게 스타일되어

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

다음으로, 새로운 선택 상자를 표시 XAJAX를 사용하는 기능을 가지고 페이지의 지정된 DIV에. 이것은 잘 작동합니다. 그러나 Chosen이 정한 스타일은 아닙니다.

일부 사람들에게 효과가있는 포럼을 읽었 기 때문에 지연을 추가하려고했습니다. 작동하지 않습니다 ....

function getNewSelect(property_id){ 
    xajax_getNewSelect(); 
    $(".chzn-select-ajax").delay(5).chosen(); 
} 

누구 아이디어가 있습니까?

+0

를 해결할 내가 "($ 않았다 선택한 컨테이너 ") .width ('100 %') selected() 설정 후 –

답변

4

xajax는 무엇을합니까?

delay은 애니메이션을 지연 시키지만 다른 기능에는 영향을 미치지 않습니다. 당신이 기능을 사용 지연 할 경우

:.

setTimeout(function() { $(".chzn-select-ajax").chosen(); }, 500); 
+0

xajax에 대한 링크를 추가했습니다. – Shackrock

+0

지연을 충분히 길게 설정하면 효과가 있지만 우스꽝스럽게 보입니다 ... 지연이 너무 짧으면 작동하지 않습니다. 다른 아이디어? – Shackrock

+1

그런 다음 xajax 호출에 콜백을 추가하여 완료 될 때이를 트리거해야합니다. 나는 xajax가 비동기임을 깨닫지 못했습니다. – Ariel

1
<script language="javascript" type="text/javascript"> 
    $(function() { 
     Sys.WebForms.PageRequestManager.getInstance().add_endRequest(loadControlDuringAjax); 
     loadControlDuringAjax(); 
    }); 
    function loadControlDuringAjax() { 
     $(".chzn-select").chosen(); $(".chzn-select-deselect").chosen({ allow_single_deselect: true }); 
    } 
</script> 

희망 나를 위해 좋은 작품을이 방법으로 문제가