检测从Apache Wicket中的CheckBoxMultipleChoice单击了哪个复选框

时间:2014-04-03 09:45:42

标签: checkbox wicket

我在Wicket中遇到CheckBoxMultipleChoice的问题。

让我们假设选项是:

[] White
[] Black 
[] Blue 
[] Yellow 
[] Red 
[] None of the above

我需要做的是注意以下情况"以上都不是"单击,然后取消选中其余选项。如果"以上都不是"选择并且用户点击任何其他选项,即"红色",然后"以上都不是"必须取消选中。

我可以在复选框组更改时检测到值,但我无法说出哪一个是被点击的确切选项,所以我可以看到,例如,用户选择了" Red&# 34;和"以上都不是"但我不能说他是否只是点击了" Red"或者在"以上都没有",所以我不知道如果我必须取消选中该怎么办" Red"或"以上都不是" ...

1 个答案:

答案 0 :(得分:0)

如果没有在Javascript中捕获事件,您无法确定单击第一个的复选框。您正在尝试执行的操作与“全选”复选框基本相同,除非在您选择它的情况下反转(其他所有内容都被取消选择),并且我假设在取消选择时它什么都不做。

看看Wicket的CheckboxMultipleChoiceSelector是如何做到的(特别是AbstractCheckSelector和CheckboxSelector.js做了什么)。代码中添加了点击处理程序到所有复选框以及“全选”复选框。常规复选框上的那些更新“全选”,反之亦然。你基本上需要相同的,除了你反转效果。