java - Java Wicket:如果选中复选框,请选中另一个复选框
问题描述
我有两个这样的复选框:
CheckBox checkBox1 = new CheckBox("enableCheckBox1", new PropertyModel<Boolean>(channelModel, "checkBox1"));
CheckBox checkBox2 = new AjaxCheckBox("enableCheckbox2", new PropertyModel<Boolean>(channelModel, "checkBox2")) {
@Override
protected void onUpdate(AjaxRequestTarget target) {
// check both checkBox1 and checkBox2
}
};
所以基本上,当我检查 checkBox2 时,我希望 checkBox1 也可以自动检查。我怎么做?
解决方案
您必须更改 checkBox1 的模型对象并更新它:
CheckBox checkBox2 = new AjaxCheckBox("enableCheckbox2", new PropertyModel<Boolean>(channelModel, "checkBox2")) {
@Override
protected void onUpdate(AjaxRequestTarget target) {
if (getModelObject()) {
checkBox1.setModelObject(true);
target.add(checkBox1);
}
}
};
推荐阅读
- android - Android Studio 无法构建带有 DexIndexOverflowException 的 APK
- wordpress - 显示文本取决于单击的菜单
- apache - Apache:NE 标志(无转义)在 mod_rewrite 的 RewriteRule 中不起作用
- java - 检测到 JPos 扫描仪但未从中接收数据
- reactjs - 在 React js 中点击 fetch api 时,Get 方法被转换为 OPTIONS
- spring - 使用 Java9 的 Swagger UI (spring boot 2.0)
- java-8 - 如何在 RxJava 中缓存项目并避免缓存踩踏?
- apache-spark - 了解如何在 Spark 中执行 Hive SQL
- android - 启用添加窗口 android.view.ViewRootImpl$W@990cb01 -- 窗口类型 2038 的权限被拒绝
- php - 解析错误:语法错误,文件意外结束,期待 elseif (T_ELSEIF) 或 else (T_ELSE) 或 endif (T_ENDIF)