2017-05-30 13 views
1

私は改造を新しくしています。表示するかどうかを示すチェックボックスの周りにロジックがあります。 問題: チェックボックスを表示しないロジックがオンの場合、チェックボックスを動的に選択してチェックボックス要素に表示:なしを追加すると、チェックボックスを無視して空白が表示されます。wicketを持たないhtml要素へのアクセス方法:id

私のHTMLは表示を追加するための他のロジック場合ので、コードの中で、私が持っている

<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> 

次のようになります。どれも

以下
<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は表示され、空白が表示されます。

この問題へのアプローチ方法については、

ありがとうございました。

+1

。 – Aaron

+0

しかし、私はウィジェットを持っていない:それには、Java側でそれにアクセスするためのID。 – Anita

+0

https://stackoverflow.com/questions/6137269/wicket-component-hierarchy-getparent私はこれがあなたのためにやってくれると思います。 getParent() - それを得るために少し掘り下げなければなりません。おそらくドキュメントに説明があります。 – Aaron

答えて

2

参照された子が存在しない場合は、<wicket:enclosure>を使用してhtmlを削除できます。 populateItemでwicket enclosure.

あなたのコードは次のようになります。

Check<S> check = new Check<>("scheck", item.getModel(), checkGroup); 
    if(defaultscope) 
    { 
    check.setVisible(false); 
    } 
    item.add(check); 

あなたのマークアップは次のようになります。あなたはそれが同様に非表示にしたい場合は、TDになし:

<tr wicket:id="srow" > 
<wicket:enclosure> 
    <td><input type="checkbox" wicket:id="scheck"/></td> 
</wicket:enclosure> 
<td><img wicket:id="sicon"></img></td> 
</tr> 
は、ディスプレイを移動
+0

WebMarkupContainerで囲んでみました。このエンクロージャも試してみるでしょう。私を助けてくれてありがとう。 – Anita

+0

はい。もうまくいきました。どうもありがとうございます。 – Anita

関連する問題