【问题标题】:Count all checkboxes that are checked in the entire DOM even when they are not displayed with DataTable?计算整个 DOM 中选中的所有复选框,即使它们没有与 DataTable 一起显示?
【发布时间】:2015-09-21 11:17:30
【问题描述】:

我有一个包含城市列表的表格。每行都有一个带有city 类的复选框。

尽管页面的源代码中存在所有城市,但该表一次仅显示十个城市(因为我希望它这样做)。在表格底部有一个按钮,显示下一个城市。

我想知道选中了多少个复选框。

所以,我尝试了$('.city').length,但这个函数只计算当时表格中存在的复选框,而不是有效存在于 DOM 中的复选框。 (例如:在DOM中存在30个城市,表格一次只显示10个城市。上面的函数返回10。)

如何计算所有选中的复选框?

更新

使用DataTable,我解决了:

var nodes = $('#table').DataTable().rows().nodes();

有了它,我得到了表格的所有行。

【问题讨论】:

  • 添加 HTML 代码或在 jsfiddle 上创建演示
  • 您能否发布一个代码示例,因为$('.city') 应该返回所有复选框,无论它们是否隐藏。我们需要知道你的元素是否真的存在。 @Tusbar 有一个叫做 SO Snippets 的东西,请使用它。它是带有<> 的文档图标。

标签: javascript jquery checkbox


【解决方案1】:

试试这个:

$('input:checkbox:checked').length

对于您所在的城市,您可以进行以下操作

$('input:checkbox.city:checked')

【讨论】:

    【解决方案2】:

    试试:

    $('input[type=checkbox].city:checked').length
    

    【讨论】:

      【解决方案3】:

      试试这个:

      $("input[type=checkbox]:checked").length
      

      【讨论】:

      • 既然他想知道检查了多少,甚至可以将其改进为$("input[type=checkbox]:checked").length
      • 选中的所有复选框
      • 问题的最后一个陈述是“我如何计算所有复选框?”
      【解决方案4】:
      $('input.cbx').on('change', function () {
          alert($('input.cbx:checked').length);
      });
      

      DEMO

      获取类似于复选框的类,获取length

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-08-14
        • 2020-01-08
        • 1970-01-01
        • 1970-01-01
        • 2021-09-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多