我有一个 html 表单,其中包含一个复选框和一个包含一些文本字段的 ListView。在选中复选框时,我希望禁用文本字段,反之亦然。
我正在使用带有 AjaxFormComponentUpdatingBehavior 的复选框。但它没有将文本字段设置为启用/禁用。以下是代码片段 -
Checkbox.add(new AjaxFormComponentUpdatingBehavior("onchange") {
private static final long serialVersionUID = 1L;
@Override
protected void onUpdate(AjaxRequestTarget target) {
listView.setEnabled(!Checkbox.getModelObject());
listViewContainer.addOrReplace(listView);
listViewContainer.setOutputMarkupId(true);
target.addComponent(listViewContainer);
}
});
HTML是 -
<form wicket:id="geoForm">
Checkbox: <input type="checkbox" wicket:id="unmanagedChk" />
<div id="listViewContainer" wicket:id="listViewContainerId">
<div wicket:id="customGeoForChannel">
<div>
Latitude(decimal):
<input type="text" wicket:id="lat" maxlength="18" />
</div>
<div>
Longitude(decimal):
<input type="text" wicket:id="lon" maxlength="19" />
</div>
<div>
Radius(miles):
<input type="text" wicket:id="radius" maxlength="3" />
</div>
</div>
</div>
</form>
geoForm --- 表格
customGeoForChannel --- ListView
纬度、经度、半径 --- 文本字段
unmanagedChk --- 复选框