我正在为一些项目组合wicket和jQuery。
我有HTML:
<a wicket:id="link" testAttr="test"></a>
使用jQuery我在点击页面上的其他组件时修改此属性。我的问题是如何获取属性的当前值&#34; testAttr&#34;来自Java?我在每个ajax调用上获取值,并查看更改的inspect元素,所以没有问题。
我尝试过getMarkupAttributes(),但我总是得到价值&#34;测试&#34;而不是我在带有inspect元素的页面上看到的当前的那个。还尝试使用AttributeModifier和Appender,onComponentTag,但没有运气。
有人知道该怎么做吗?
答案 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();
// ...
}
});