2010-06-17 5 views
13

"만들기"모달 대화 상자가 XHR을 통해 제출 된 경우 그러면 Yii CGridView의 행이 새로 고쳐 져야합니다.js에서 Yii CGridView를 새로 고칠 수 있습니까?

나는 $("#list").html(response)를 통해 페이지에 삽입 한 후 조치를 "만드는"는 XHR의 새로운있는 gridview를 렌더링하여이를 달성하기 위해 노력했지만, 렌더링은 CGridView는 jQuery를 <script> 태그가 포함 등록, 그렇게 할 포함 원인 이 태그들을 페이지에 삽입 할 때 jQuery를 다시로드합니다.이 태그는 내 live 이벤트 핸들러를 지 웁니다. 그래서 많은 것들이 중단됩니다.

내 생각에 "GridView는 자체를 새로 고치는 법을 알고 있습니다. 언제나 정렬 또는 페이지에서 항상 수행합니다."

그래서 js에서 GridView의 정렬 버튼을 클릭 할 수 있지만 그 이상은 이상적입니다. 나는

$ ("# list"). gridview ('reload') 또는 $ .fn.gridview.reload ("# list") 또는 그런 감각이라고 말하고 싶다.

또는 지금 당장 생각한 것보다 훨씬 더 간단한 방법을해라.

답변

46

실행 $.fn.yiiGridView.update("<id of CGridView>");

+0

이 명령의 단점은 필터, 정렬 및 페이지 매김을 다시 설정한다는 점입니다. 따라서 ID로 항목을 주문한 경우 두 번째 페이지로 이동하여이 명령을 호출하면 현재 화면이 사라지고 항목을 다시 찾아야합니다. – Racky

+1

이 대답을 받아 들여야한다고 생각합니다. – ivkremer

+1

$ .fn.yiiListView.update ("", { data : $ ("yourcustomselectors") serialize() }); –

관련 문제