2009-04-06 4 views
3

시스템에서 실행중인 다양한 작업의 상태를 보여주는 응용 프로그램에 html 테이블이 있습니다. 각 작업에는 작업 실행을위한 swirly gif와 같은 상태가 있습니다. 새로운 작업은 옆에있는 확인란을 사용하여 사용자가 관련 작업을 선택하고 시작할 수 있습니다.Ajax에서 새로 고친 페이지에 체크 박스 상태를 유지하려면 어떻게해야합니까?

이 테이블은 struts2 자동 새로 고침 div (sx : div)이며, 작업에서 현재 일어나고있는 것을 반영하기 위해 몇 초마다 새로 고칩니다.

문제는 div가 새로 고침되면 확인란의 상태가 손실된다는 것입니다.

상태를 유지하는 우아한 방법이 있습니까? 태그에 내장 된 도조 토픽 시스템을 사용하여 아약스 리프레쉬 완료시 일부 javascript를 호출하는 옵션이 있지만 가장 좋은 방법은 무엇인지 알 수는 없습니다.

+0

일부 코드를 알려주세요. –

답변

1

저는 스트럿츠에 익숙하지 않아서 가치있는 것을 조언 해줍니다.

이렇게 접근하는 방법은 두 가지가 있습니다.

첫 번째 (그리고 아마도 가장 간단한 방법은 체크 된 상태를 배열 또는 객체 onchange에 저장하는 확인란을 이벤트에 추가하는 것입니다. 그런 다음 아약스 새로 고침 콜백에서 해당 상태를 복원하십시오.

두 번째 방법은 체크 박스를 서버에 제출하거나 체크 박스가 선택되었을 때 실행되는 별도의 아약스 액션을 사용하도록 아약스 새로 고침을 포스트로 실행해야한다는 것입니다. 이러한 옵션 중 하나를 사용하면 Ajax 새로 고침이 렌더링시 "확인"할 수 있습니다.

1 번으로 가기로 결정했다면, 특히 좋은 라이브러리 (jquery 등)를 사용하는 경우 자바 스크립트가 그렇게 어렵지 않습니다.

+0

나는 javascript로 체크 박스를 리셋하는 것으로 실험했고 자바 스크립트의 리턴 된 부분을 실행하지 않는 struts2와 관련된 문제를 만났다. 결국 나는 체크 박스 상태를 제출하고 반환 된 조각의 jsp에서 재설정했다. 훨씬 간단하고 강력합니다. Joel에게 감사드립니다. –