当前位置: 首页 > 知识库问答 >
问题:

如果复选框不确定,如何防止从标签单击中选中复选框?

周阳波
2023-03-14

如果复选框不确定,如何从与复选框关联的标签停止单击事件?

我尝试了以下几点,但都没有成功:

el.parent().find('.arena-custom-label').click(function ( event ) {
    if (el.is(':indeterminate')) {
        event.preventDefault();
        el.attr('indeterminate', false);
        el.removeClass('indeterminate');
        dataGrid.find('.ag.gr:checked').trigger('click');
    } else {
        el.change(function () {
            if (el.is(':checked')) {
                dataGrid.find('tbody .ag.gr:not(:checked)').trigger('click');
            } else {
                dataGrid.find('tbody .ag.gr:checked').trigger('click');
            }
        });
    }
});

El是复选框本身。

目标是,当此复选框不确定时,单击相关标签后,我希望它所做的就是退出不确定并取消选中。然后,我将触发表中所有选中的复选框也被取消选中。

问题是,当我单击不确定的复选框标签时,它会导致它被选中,导致所有未选中的复选框都被选中。与我想要的相反。

共有1个答案

巫培
2023-03-14

不确定的代码是一个道具,而不是属性,所以你应该使用代码jquery.prop代码来更新:

el.parent().find('.arena-custom-label').click(function ( event ) {
  if (el.is(':indeterminate')) {
    event.preventDefault();
    el.prop('indeterminate', false);
    el.removeClass('indeterminate');
    dataGrid.find('.ag.gr:checked').trigger('click');
  } else {
    el.change(function () {
      if (el.is(':checked')) {
          dataGrid.find('tbody .ag.gr:not(:checked)').trigger('click');
      } else {
          dataGrid.find('tbody .ag.gr:checked').trigger('click');
      }
    });
  }
});

请参见此处和此处以获取解释。

这里有一个香草JS演示。

 类似资料:
  • 问题内容: 选中相应的复选框后,是否可以通过非JavaScript方式更改标签的颜色? 问题答案: 如果你有 你可以做

  • 问题内容: 出于某种原因,我的表单不想获取复选框的值…我不确定这是否是我的编码,但是当我尝试输入值时,我得到了结果。我有什么问题? 编辑 我尝试将其更改为此 但是现在它甚至不想。怎么了 问题答案: 将函数放在内部。当执行该行时,主体尚未解析,并且该元素不存在。这工作得很好:

  • 当我第一次点击它的时候,它点击了,但是没有关掉... 我试过这个,它检查和取消检查,但只有一次。 这个对我也不起作用。 null null

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

  • 我试图创建一个表单,该表单顶部有一个复选框,当用户选中该复选框时,它会选择其他特定的复选框,但不是所有复选框。我很难通过反复试验或搜索找到答案。我唯一能找到的就是“全选”选项。不是我想要的。 理想情况下,当用户选中“管理包”旁边的复选框时,我想要“Chrome外观组”和“远程启动” 下面是代码和我在这方面的基本尝试,但它不起作用。提前谢谢。 超文本标记语言: Javascript 我不知道这个Ja

  • 如问题所述,当选中标题中的“全选”复选框时,我已经可以选中gridview行中的复选框,当取消选中标题中的“全选”复选框时,取消选中gridview行中的复选框。我想做的是,当没有选中行中的所有复选框时,则不选中标题中的“全选”复选框,反之亦然(当选中行中的所有复选框时,则选中标题中的“全选”复选框)。 我该怎么做? 我已经做了我想要实现的,但是标题中的复选框开始影响(选中或取消选中),即使我只选