<a/>
タグ内にコンポーネントがあり、クリックするとポップアップウィンドウが開きます。 KMLファイルで動作する「お気に入りに追加」リンクです。私のKMLファイルには「お気に入り[ブール値]」という名前のフィールドがあります。今すぐ "お気に入りに追加"リンクを非表示にしたいのですが、Wicketでコンポーネントを非表示にする
<div id="map_container">
<a wicket:id="favourite_star" class="map_container_star"></a>
</div>
このISN」:
public class FavouriteStarIconState extends AbstractDefaultAjaxBehavior {
private boolean isFavourite;
public FavouriteStarIconState(boolean isFavourite) {
super();
this.isFavourite = isFavourite;
}
@Override
protected void respond(AjaxRequestTarget target) {
if (isFavourite) {
target.appendJavascript("jQuery('.map_container_star').css(
{'display' : 'none' });");
} else {
target.appendJavascript("jQuery('.map_container_star').css(
{'display' : 'block' });");
}
}
@Override
public void renderHead(IHeaderResponse response) {
response.renderOnLoadJavascript(getCallbackScript().toString());
}
}
成分を含むHTMLの一部:私はこのように動作を追加しようとした
public class CustomTracksAjaxDataTable<T> extends CustomAjaxDataTable<T> {
public CustomTracksAjaxDataTable(String id, List<IColumn<T>> iColumns,
ISortableDataProvider<T> tiSortableDataProvider, int rowsPerPage) {
super(id, iColumns, tiSortableDataProvider, rowsPerPage);
}
protected void onEventHandler(AjaxRequestTarget ajaxRequestTarget,
KMLFile file) {
setKMLData(file); // it just update map, dont care about it
add(new FavouriteStarIconState(file.isSaved()));
}
}
:KMLリストはテーブルで生成されます働いている。私はcomponent.setVisible(false)
と同じ結果を得ました。どのように私は仕事に隠れることができますか?
今素晴らしい作品あなたはComponent' 'の'のisVisible() 'メソッドで見たことがありますか?あなたはそれをオーバーライドすることができ、Wicketは残りの部分を処理します。コンポーネントを 'AjaxRequestTarget'に追加するだけです。この解決策には限界がありますが、通常は機能します。 – biziclop