Wicket:获取标签属性

时间:2015-02-23 16:15:53

标签: java javascript jquery html wicket

我正在为一些项目组合wicket和jQuery。

我有HTML:

<a wicket:id="link" testAttr="test"></a>   

使用jQuery我在点击页面上的其他组件时修改此属性。我的问题是如何获取属性的当前值&#34; testAttr&#34;来自Java?我在每个ajax调用上获取值,并查看更改的inspect元素,所以没有问题。

我尝试过getMarkupAttributes(),但我总是得到价值&#34;测试&#34;而不是我在带有inspect元素的页面上看到的当前的那个。还尝试使用AttributeModifier和Appender,onComponentTag,但没有运气。

有人知道该怎么做吗?

1 个答案:

答案 0 :(得分:2)

您必须将当前属性值作为动态额外参数发送到服务器&#39;:

link.add(new AjaxEventBehavior("click") {
  updateAjaxAttributes(ARA ara) {
    super.updateAttributes(ara);

    ara.getDynamicExtraParameters()
            .add("return {'q' : jQuery('#' + attrs.c).attr('testAttr') };");
  }

  onEvent(ART art) {
    RequestCycle requestCycle = RequestCycle.get();
    String val = requestCycle.getRequest()
        .getRequestParameters()
        .getParameterValue("q")
        .toString();

    // ...
  }
});