2011-11-16 2 views
0

나는 내 요구에 맞는 지 확인하기 위해 wiQuery을 시험하고 있지만, 아주 기본적인 것들로 문제가있다. 나는 대화가 open()close() 방법을 사용하여 열고 닫을 때 제어하려고 다음을 고려하십시오wiQuery 대화 상자를 열고 닫는 방법?

HTML :

<input type="submit" wicket:id="open" value="Open dialog"/>  
<div wicket:id="dialog">  
    <input type="submit" wicket:id="close" value="Close"/>  
</div> 

자바 :

final Dialog dialog = new Dialog("dialog"); 

add(new Link("open") { 
    @Override 
    public void onClick() { 
     dialog.open(); 
    } 
}); 

dialog.add(new Link("close") { 
    @Override 
    public void onClick() { 
     dialog.close(); 
    } 
}); 

add(dialog); 

것은 위이며, 작동하지 않습니다.

내가 대화를 가지고있는 유일한 방법

내 코드에서 실제로 공개 & 가까운 setAutoOpen() true 또는 false로를 호출하는 것입니다,하지만이 유일한 방법입니다 이상한 것 같다합니다. (그 방법의 자바 독은 "이 창은 페이지가로드 인 타이틀 후에 열을 설정합니다."라고이 명확 다른 목적을 위해 예약해야하므로.)

무엇 개방의 올바른 방법이고 동적 wiQuery 대화 상자를 닫기 당신의 코드?

답변

1

저는 지난 2 주간 사용 해본 적이 있는데 비슷한 문제가 있습니다. 다음과 같이 AjaxLink를 사용해보십시오.

AjaxLink openingLink = new AjaxLink("open") 
{ 

    @Override 
    public void onClick(AjaxRequestTarget target) 
    { 
    // Do something with model 
    target.addComponent(content); 
    dialog.open(target); 
    } 

}; 
+0

감사합니다. 흠, 실제로 이런 식으로 AjaxLink가 필요하다는 것은 꽤 분명합니다. :) 오, 스택 오버플로에 오신 것을 환영합니다! – Jonik

+0

고마워, 나는 장기간의 독자/관찰자 였지만 약간은 수줍어했다. :) 나는 영원한 제자가 된 기분이다. – Beto

관련 문제