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);
}
有什么建议吗?
答案 0 :(得分:2)
可能是导致问题的clone()方法。根据文档,它不会克隆事件处理程序。试试clone(true);
您还可以处理交换服务器端,然后在交换后重新呈现列表。这将是Wicket的做法。