私は改札を初めて使用し、jQuery をまったく知りません。私はウィケット6.9.0を使用しています。すべてのチェックボックスの選択/選択解除をウィケット DataTable に追加する必要があります。「Apache Wicket Cookbook」の例を読んで実装しました。28 ページのApache Wicket Cookbook で確認できます。チャプター 5 ですが、すべての選択を解除しても機能しません。ここの提案も読みました: http://evanchooly.com/logs/%23%23wicket/2011-08-31
問題は、Check*Selector などを介して実装する方法がわかりません。誰かが私の簡単で便利な例を手伝ってくれませんか?
** アップデート:**
@svenmeierがコメントに書いたように。すべてのチェックボックスを選択するために checkgroupselector を追加しようとしていますが、次のことを行いました。
Form form = new Form("form");
CheckGroup group = new CheckGroup("group");
group.add(new CheckGroupSelector("groupselector"));
DataTable sourceTable = new DataTable("mytable", getColumns(), getDataProvider(), 10);
sourceTable.setOutputMarkupPlaceholderTag(true);
group.add(sourceTable);
add(form);
form.add(group);
private List getColumns() {
List<IColumn<MyItem, String>> ret = Lists.newArrayList();
ret.add(new AbstractColumn<MyItem, String>(new Model<>("")) {
@Override
public void populateItem(Item<ICellPopulator<MyItem>> cellItem, String componentId, IModel<MyItem> rowModel) {
CheckBoxPanel checkBoxPanel = new CheckBoxPanel(componentId);
cellItem.add(checkBoxPanel);
}
});
...
}
<span wicket:id="group">
<input type="checkbox" wicket:id="groupselector">check/uncheck all</input>
<table wicket:id="mytable">[Lookup Results]</table>
</span>
DataTable に CheckBox を追加するには、Panel を使用する必要があるため、次のようにします。
public class CheckBoxPanel extends Panel {
private CheckBox field;
public CheckBoxPanel(String id, IModel<Boolean> model) {
super(id);
field = new CheckBox("checkBox", model);
add(field);
}
public CheckBoxPanel(String id) {
this(id, new Model<Boolean>());
}
public CheckBox getField() {
return field;
}
}
CheckBoxPanel.html 内
<body>
<wicket:panel xmlns:wicket="http://wicket.apache.org">
<input type="checkbox" wicket:id="checkBox">
</wicket:panel>
</body>
実際にはチェックグループが表示されますが、私のテーブルの下でチェック/チェックを外しても、その下のチェックボックスには影響しません。ここで何が間違っていますか?