当前位置: 首页 > 面试题库 >

如何限制可以选中的复选框数量?

陆敏学
2023-03-14
问题内容

我有4个复选框。我希望用户仅选择其中两个。如何设置该限制?


问题答案:

您可以轻松地使用一个int变量来存储当前选中的复选框的数量…然后onCheckedChanged()调用任何时间,检查该变量,如果它已经是要选中的第三个复选框,则只需将其设置为再次取消选中即可。

假设您首先取消选中所有复选框。所以你也是:

int numberOfCheckboxesChecked = 0;

然后设置OnCheckChangedListener

checkbox1.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        if (isChecked && numberOfCheckboxesChecked >= 2) {
            checkbox1.setChecked(false);
        } else {
            // the checkbox either got unchecked
            // or there are less than 2 other checkboxes checked
            // change your counter accordingly
            if (isChecked) {
                numberOfCheckboxesChecked++;
            } else {
                numberOfCheckboxesChecked--;
            }

            // now everything is fine and you can do whatever
            // checking the checkbox should do here
        }
    }
});

(我尚未测试过代码,但应该可以。)



 类似资料:
  • 问题内容: 我使用的选择标记的格式允许多次选择,但我希望选择的最大数量为10。使用JavaScript或jquery是否可以? 提前致谢! 问题答案: 这是供您使用的一些完整代码…一定要喜欢Google AJAX API Playground :-) 编辑1: 注意:这只允许您选择5,因为我不想复制/粘贴另外10个选项:-) ​

  • tbody和thead中的复选框使表呈现得很好。我可以在DataTable init外部编写简单的onChange函数,但它只检测表的可见页上选中或未选中的复选框。 如何或在哪里可以编写一个函数,当一个复选框被更改时会触发,然后返回表中被选中的复选框总数?

  • 如果选中复选框D并取消选中其他复选框,我希望选中复选框K和F。同样,如果选中复选框I,则前面的复选框I将被选中,下面的复选框将被取消选中。我的html代码是: 我为此所做的是: 这看起来很乱,还有一个很酷的过程吗???

  • 本文向大家介绍JavaScript检测并限制复选框选中个数的方法,包括了JavaScript检测并限制复选框选中个数的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript检测并限制复选框选中个数的方法。分享给大家供大家参考。具体如下: 这里用JavaScript判断复选框中否选中,同时可以限制复选框的选中个数,这是一个比较实用的JS表单判断示例,复选框的是否选中曾经让很

  • 下面是我的代码。 问题是当我选中一个复选框时,包括选中循环视图中的其他复选框。但当我签入适配器时,项目被正确添加,但复选框被复制。 例如:如果我选中了第一项复选框,向下滚动第16项复选框也会被选中。取消选中该复选框也将取消选中第一项。

  • 我创建了一个windows窗体(到目前为止)只包含复选框。构造函数接受一个参数:。对于这个数组中的每个字符串,我都会创建一个复选框。 例如: null 那么,当另一个复选框调用uncheck时,是否有一种方法可以告诉我的复选框不要运行? 下面是我的代码(它都是手工编写的,所以没有使用visual studio设计器):