두 번째 Ajax 후 Yii 및 Bootstrap 위젯이 작동하지 않음

제임스

초기 페이지로드를 개선하기 위해 내가 만들고있는 페이지에있는 대부분의 콘텐츠는 필요할 때만로드됩니다. 이를 위해 ajax 호출을 통해 다음 코드를 사용하고 있습니다.

$this->renderPartial('_callhistory', array(
                        'modelCalls'=>$modelCalls,
                        'fid'=>$fid,                        
), false, true);

이것은 잘 작동하고 모든 위젯이 작동합니다. 메인 테마의 디자인에 문제를 일으키고 있지만 현재로서는 큰 문제가 아닙니다.

내가 가진 문제는 때때로 ajax를 다시 호출하여보기를 업데이트해야한다는 것입니다. 이렇게하려면 동일한 매개 변수를 사용하여 정확히 동일한 ajax 함수를 호출하고 있지만 두 번째 호출에서 모든 위젯 (즉, TbSelect2 및 CJuiDatePicker)이 작동을 중지하고 대신 날짜에 대한 표준 선택 및 텍스트 상자가 표시됩니다. 이것은 차례로 클라이언트 측 유효성 검사를 중단합니다.

다른 Q & A에 언급 된대로 .unbind()이것이 갈 길이입니까? 그렇다면 모든 위젯 요소가 ajax 호출 전에 바인딩을 해제해야한다고 말하는 것이 맞습니까?

감사합니다. Ajax도 게시하겠습니다. 이와 같은 모든 업데이트를 처리합니다.

function renderSectionView(fid, viewid, headerid, panelid, extraparams){
    var panel = $('#'+panelid);
    panel.html("<img src='images/ajax-loader-bar.gif' class='loadingbar' />");

    var param = {   'fid':fid,
            'viewid':viewid
            };  

    var url = controller_url_builder('SubViewAjax', param);

    var jqxhr = $.post( url, extraparams, function(data) {
        panel.html(data);
    })
    .done(function() {
        renderedlist.push(viewid+fid);
    })
    .fail(function() {
        panel.html("<span class='error'>There has been an error, please refresh the page and try again</span>");
    })
    .always(function() {
        scrollToAcc(headerid);
    });
}
제임스

여기 덕분에 마침내 이것에 대한 답을 찾았습니다.

Yii 프레임 워크 포럼 : 아약스와 위젯

트릭은 컨트롤러에서 위젯을 렌더링하지만 출력을 다음과 같이 변수로 저장하는 것입니다.

$html = $this->widget( $className,  $properties=array ( ), TRUE);

참고 : 마지막 'true'매개 변수를 사용하면 결과를 $html변수 에 배치 할 수 있습니다 .

그런 다음 클라이언트 스크립트를 사용하여 스크립트를 렌더링합니다.

Yii::app()->getClientScript()->renderBodyBegin($html);
Yii::app()->getClientScript()->renderBodyEnd($html);

그런 다음 변수를 뷰에 전달하고 (renderPartial을 통해 수행합니다) echo $html위젯이 필요한 곳에 사용 합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Jquery 및 Ajax를 사용하여 제출 한 후 두 번째로 양식 제출이 작동하지 않음

분류에서Dev

두 번째 ajax 호출 후 jquery가 작동하지 않습니다.

분류에서Dev

jQuery 클릭 리스너 및 AJAX 요청-두 번째 리스너가 작동하지 않음

분류에서Dev

두 번째 호출 후 setInterval이 중지되지 않음

분류에서Dev

Xubuntu 16.04 업그레이드 후 두 번째 모니터가 작동하지 않음

분류에서Dev

Xubuntu 16.04 업그레이드 후 두 번째 모니터가 작동하지 않음

분류에서Dev

Phonegap Jquery 모바일 Windows Phone 8에서 두 번째 Ajax 호출이 작동하지 않음

분류에서Dev

GWT VerticalPanel이 첫 번째 위젯 이후 상단에 정렬되지 않음

분류에서Dev

첫 번째 입력 후 연속 fget 및 sscanf가 작동하지 않는 이유

분류에서Dev

wxPython : 두 번째 및 세 번째 패널이 표시 / 버깅되지 않음

분류에서Dev

두 번째 IF 조건이 제대로 작동하지 않음

분류에서Dev

두 번째로 jQuery 기능이 작동하지 않음

분류에서Dev

Selenium WebDriver 두 번째 클릭이 작동하지 않음

분류에서Dev

두 번째 스크립트 파일이 작동하지 않음

분류에서Dev

두 번째 클릭시 JavaScript 버튼이 작동하지 않음

분류에서Dev

취소 후 두 번째 호출시 SKReceiptRefreshRequest가 작동하지 않음

분류에서Dev

Bootstrap Collapse show.bs.collapse가 두 번째로 작동하지 않음

분류에서Dev

Yii : Ajax 호출 후 Javascript 및 CSS가로드되지 않음

분류에서Dev

두 번째 수준 캐시가 Spring 및 JSF에서 작동하지 않음

분류에서Dev

두 번째로 작동하지 않는 Ajax

분류에서Dev

R 반짝이는 작업 버튼이 두 번째로 작동하지 않음

분류에서Dev

두 번째 및 후속 행이 그리드에서 전체 높이를 지정하지 않았습니다.

분류에서Dev

div 및 mod 사용 후 번호 인쇄-MASM이 작동하지 않음

분류에서Dev

두 번째 슬라이드 쇼를 추가 한 후 슬라이드 쇼가 작동하지 않습니다.

분류에서Dev

14 번째 행 이후에 Pascals Triangle 방법이 작동하지 않음

분류에서Dev

두 번째 활동이 시작되지 않음

분류에서Dev

Angularjs : ng-model 바인딩이 첫 번째 AJAX 요청 후 작동하지 않습니다.

분류에서Dev

클립 경로 애니메이션이 두 번째로 작동하지 않음

분류에서Dev

마지막 및 N 번째 자식이 작동하지 않는 테두리 제거

Related 관련 기사

  1. 1

    Jquery 및 Ajax를 사용하여 제출 한 후 두 번째로 양식 제출이 작동하지 않음

  2. 2

    두 번째 ajax 호출 후 jquery가 작동하지 않습니다.

  3. 3

    jQuery 클릭 리스너 및 AJAX 요청-두 번째 리스너가 작동하지 않음

  4. 4

    두 번째 호출 후 setInterval이 중지되지 않음

  5. 5

    Xubuntu 16.04 업그레이드 후 두 번째 모니터가 작동하지 않음

  6. 6

    Xubuntu 16.04 업그레이드 후 두 번째 모니터가 작동하지 않음

  7. 7

    Phonegap Jquery 모바일 Windows Phone 8에서 두 번째 Ajax 호출이 작동하지 않음

  8. 8

    GWT VerticalPanel이 첫 번째 위젯 이후 상단에 정렬되지 않음

  9. 9

    첫 번째 입력 후 연속 fget 및 sscanf가 작동하지 않는 이유

  10. 10

    wxPython : 두 번째 및 세 번째 패널이 표시 / 버깅되지 않음

  11. 11

    두 번째 IF 조건이 제대로 작동하지 않음

  12. 12

    두 번째로 jQuery 기능이 작동하지 않음

  13. 13

    Selenium WebDriver 두 번째 클릭이 작동하지 않음

  14. 14

    두 번째 스크립트 파일이 작동하지 않음

  15. 15

    두 번째 클릭시 JavaScript 버튼이 작동하지 않음

  16. 16

    취소 후 두 번째 호출시 SKReceiptRefreshRequest가 작동하지 않음

  17. 17

    Bootstrap Collapse show.bs.collapse가 두 번째로 작동하지 않음

  18. 18

    Yii : Ajax 호출 후 Javascript 및 CSS가로드되지 않음

  19. 19

    두 번째 수준 캐시가 Spring 및 JSF에서 작동하지 않음

  20. 20

    두 번째로 작동하지 않는 Ajax

  21. 21

    R 반짝이는 작업 버튼이 두 번째로 작동하지 않음

  22. 22

    두 번째 및 후속 행이 그리드에서 전체 높이를 지정하지 않았습니다.

  23. 23

    div 및 mod 사용 후 번호 인쇄-MASM이 작동하지 않음

  24. 24

    두 번째 슬라이드 쇼를 추가 한 후 슬라이드 쇼가 작동하지 않습니다.

  25. 25

    14 번째 행 이후에 Pascals Triangle 방법이 작동하지 않음

  26. 26

    두 번째 활동이 시작되지 않음

  27. 27

    Angularjs : ng-model 바인딩이 첫 번째 AJAX 요청 후 작동하지 않습니다.

  28. 28

    클립 경로 애니메이션이 두 번째로 작동하지 않음

  29. 29

    마지막 및 N 번째 자식이 작동하지 않는 테두리 제거

뜨겁다태그

보관