首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何访问没有wicket:id的html元素

如何访问没有wicket:id的html元素
EN

Stack Overflow用户
提问于 2017-05-31 03:11:39
回答 1查看 232关注 0票数 1

我是wicket的新手,请谁帮我出个主意。我有一个关于显示或不显示复选框的逻辑。问题:如果启用了不显示复选框的逻辑,即在代码中动态地向复选框元素添加display:none,则会出现一个空白,因为复选框周围有td。

我的html看起来像

代码语言:javascript
复制
<span wicket:id="checkgroup">
<table>
<tr wicket:id="srow" >
<td><input type="checkbox" wicket:id="scheck"/></td>
<td><img wicket:id="sicon"></img></td>
</tr>
</table>
</span>

因此,在代码中,我有if else逻辑,用于向复选框元素添加display:none,该元素将从视图中删除复选框,如下所示

代码语言:javascript
复制
<span wicket:id="checkgroup">
<table>
<tr wicket:id="srow" >
<td><input type="checkbox" wicket:id="scheck" style="display:none"/></td>
<td><img wicket:id="sicon"></img></td>
</tr>
</table>
</span>                     

final CheckGroup<Scope> checkGroup = new CheckGroup<>("checkGroup", 
new ArrayList<> ());    
ListView<Scope> listView = new ListView<Scope>
("srow", sList); 
@Override
protected void populateItem(final ListItem<S> item)
{
  Check<S> check = new Check<>("scheck", item.getModel(), checkGroup);
  if(defaultscope)
  {
     check.add(new AttributeModifier("style","display:none"));
  }
  item.add(check);
} 

因此,现在我的复选框消失了,但周围的td仍然存在,并导致显示中出现空白。

关于如何处理这个问题的任何想法。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-05-31 04:54:20

如果引用的子项不存在,则可以使用<wicket:enclosure>删除html。wicket enclosure.

您在populateItem中的代码可能如下所示:

代码语言:javascript
复制
Check<S> check = new Check<>("scheck", item.getModel(), checkGroup);
  if(defaultscope)
  {
     check.setVisible(false);
  }
  item.add(check);

您的标记将如下所示:

代码语言:javascript
复制
<tr wicket:id="srow" >
<wicket:enclosure>
  <td><input type="checkbox" wicket:id="scheck"/></td>
</wicket:enclosure>
<td><img wicket:id="sicon"></img></td>
</tr> 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44270160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档