我正在使用检票口更新列表。列表将被更新(发出 ajax 请求,发送响应并更新列表)。到目前为止,一切正常。
更新列表后,我调用 javascript/jquery 方法 $('ul').listview('refresh') 来(重新)添加所有必要的 jquery 样式。但这不会发生。(更新的)列表将无样式显示。
有什么想法,我错过了什么?
html部分:
...
<ul id="sitzungenList" wicket:id="sitzungenListContainer" data-role="listview" data-divider-theme="b" data-inset="true">
<li wicket:id="sitzungen" data-theme="c">
<a href="#page2" data-transition="slide">
<span wicket:id="sitzungName">[Sitzung]</span>
</a>
</li>
</ul>
...
java部分(列表的初始化):
...
final WebMarkupContainer sitzungenListContainer = new WebMarkupContainer("sitzungenListContainer");
sitzungenListContainer.setOutputMarkupId(true);
sitzungenForm.add(sitzungenListContainer);
final ListView<Meeting> sitzungenList = new ListView<Meeting>("sitzungen", meetingsService.getAll(Meeting.class)) {
@Override
protected void populateItem(ListItem<Meeting> listItem) {
listItem.add(new Label("sitzungName", listItem.getModelObject().getName()));
}
};
sitzungenListContainer.add(sitzungenList);
...
最后是列表的更新(在 AjaxButton 的 onSubmit 方法中):
...
sitzungenList.setList(meetingsService.getMeetings(sitzungenSearchParam));
target.add(sitzungenListContainer);
target.appendJavaScript("$('ul').listview('refresh')");
...