在javascript更改后,Wicket ajax没有响应

时间:2014-05-26 12:17:16

标签: java wicket wicket-1.6 wicketstuff

Wicket AjaxSubmitLink onSubmit在应用appendJavascript后没有调用,因为它改变了页面的DOM。示例代码是

add(new ListView("list", someArrayList){
            @Override
            protected void populateItem(final ListItem item) {
                add(new AjaxSubmitLink("link") {
                     @Override
                     public void onClick(AjaxRequestTarget target) {
                         target.appendJavascript("swap('"+this.getMarkupId()+"')");
                     });
})

Le Javascript看起来像

function swap(markupId){


var one = $('.dashed').first().parent();
var two = $('#'+markupId).parent();
var tone = one.clone();
var ttwo = two.clone();
one.replaceWith(ttwo);
two.replaceWith(tone);

}

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

可能是导致问题的clone()方法。根据文档,它不会克隆事件处理程序。试试clone(true);

您还可以处理交换服务器端,然后在交换后重新呈现列表。这将是Wicket的做法。