값. 각 행에는 7 개의 셀이 있습니다. 각 셀에는 고유 한 값이 있습니다. 셀을 클릭하면 unqiue 값을 서버에 게시해야합니다.Ajaxrequest 내가 개찰구에 새로운 다음과 같은 문제에 붙어있어
테이블에 하나 이상의 ajaxfallbacklink (또는 이와 유사한) 만 등록하고 클릭 한 셀의 고유 값으로 모델 값을 조정하고 싶습니다.
아이디어가 있으십니까?
값. 각 행에는 7 개의 셀이 있습니다. 각 셀에는 고유 한 값이 있습니다. 셀을 클릭하면 unqiue 값을 서버에 게시해야합니다.Ajaxrequest 내가 개찰구에 새로운 다음과 같은 문제에 붙어있어
테이블에 하나 이상의 ajaxfallbacklink (또는 이와 유사한) 만 등록하고 클릭 한 셀의 고유 값으로 모델 값을 조정하고 싶습니다.
아이디어가 있으십니까?
즉각적인 응답은 "왜 그렇게하고 싶습니까?"명백한 해결책은 각 셀/셀 컨텐츠 구성 요소에 ajax onClick 비헤이비어를 추가하는 것입니다 (분명히 한 가지 동작 만 작성하면됩니다). 이것이 작동하도록 설계된 방법입니다.
당신이 제안한 것처럼 핸들러를 작성할 수는 있지만 테이블의 컴포넌트 트리를 통해 트래킹해야하며 각 셀에 올바른 JS onClick 콜백을 추가해야합니다. 그런 다음 실제로 onClick 이벤트를 표시하지 않는 구성 요소에 onClick 비헤이비어를 추가하는 의미에 대해 생각해야합니다.
기본적으로 프레임 워크 (꽤 깔끔한) 아약스 모델을 우회하는 커스텀 코드가 전혀 필요 없습니다.
모두 처리기가 하나만있을 때 어떤 셀을 클릭했는지 어떻게 알 수 있습니까? 거의 불가능합니다.
그러나 문제의 개찰면은 간단합니다. 언제나 자신 만의 IModel을 작성하거나 AbstractReadOnlyModel을 확장 할 수 있습니다. 하나의 메소드 인 getObject() 만 구현하면됩니다.
분명히 이것은 클라이언트 측 자바 스크립트가 서버로 보내기위한 정보를 추출해야합니다. 이 정보는 다음 코드 (AN AbstractDefaultAjaxBehavior 서브 클래스에서) 아약스 콜백
generateCallbackScript (새 AppendingStringBuffer ("wicketAjaxPost (\ '를"생성 할 준비가되면 ). 추가 (getCallbackUrl)()는 false. ("\를 추가' , 'java.security.Param ='+ Wicket.Form.encode (yourDataGoesHere) "));
및 RequestCycle.get(). getRequest(). getParameter ("param ")
맞아요. 정말 좋은 생각이 아닙니다. –