如何在一个数组中使用jQuery获得所有选中的复选框

如何在一个数组中使用jQuery获得所有选中的复选框

给定一个复选框的数量。任务是使用JQuery获取数组中所有选中的复选框的值。下面将讨论一些方法。

jQuery on()方法

这个方法为选定的元素和子元素添加一个或多个事件处理程序。
语法:

$(selector).on(event, childSel, data, fun, map)

参数:

  • event。这个参数是必需的。它指定一个或多个事件或命名空间,以添加到选定的元素。
    如果有多个事件值,用空格分隔。事件必须是一个有效的。
  • childSel。这个参数是可选的。它指定了事件处理程序应该只附加到定义的子元素。
  • data。这个参数是可选的。它指定了要传递给函数的额外数据。
  • fun。这个参数是必需的。它指定了事件发生时要运行的函数。
  • map。它指定了一个事件地图({event:func(), event:func(), …}),有一个或多个事件添加到选定的元素,以及事件发生时要运行的函数。

jQuery text()方法

该方法设置/返回所选元素的文本内容。
如果这个方法被用来返回内容,它提供所有匹配元素的文本内容(HTML标签将被删除)。
如果这个方法被用来设置内容,它将替换所有匹配元素的内容。
语法:

  • 返回文本内容。
$(selector).text()
  • 设置文本内容。
$(selector).text(content)   
  • 使用一个函数设置文本内容。
$(selector).text(function(index, curContent))  

参数:

  • content。这个参数是必需的。它指定了所选元素的新文本内容。
  • function(index, curContent):这个参数是可选的。它指定了一个函数,返回所选元素的新文本内容。
  • index。它返回该元素在集合中的索引位置。
  • curContent。它返回所选元素的当前内容。

jQuery val()方法

该方法返回/设置匹配元素的值属性。
在返回值的情况下,该方法返回FIRST选择的元素的值属性的值。
在设置值的情况下,这个方法为所有选定的元素设置值属性的值。
语法:
* 返回值属性。

$(selector).val() 
  • 设置值属性。
$(selector).val(value)
  • 使用一个函数来设置值属性。
$(selector).val(function(index, cValue))

参数:

  • val。这个参数是必需的。它指定了值属性的值。
  • function(index, cValue):这个参数是可选的。它指定了一个返回要设置的值的函数。
  • index。它返回该元素在集合中的索引。
  • cValue。它返回选定元素的当前值属性。

JavaScript数组push()方法

该方法在数组的末尾添加新项,并返回新的长度。
语法:

array.push(item1, item2, ..., itemN)    

参数:

  • item1, item2, …, itemN: 这个参数是必须的。它指定了要添加到数组中的项目。

返回 value:
它返回一个数字,代表数组的新长度。

例子1:这个例子通过选择器选择选中的复选框,然后对每个元素调用.each()方法,最后将它们推入数组。

<!DOCTYPE html>
<html>
  
<head>
    <title>
        JQuery | Get all selected checkboxes in an array.
    </title>
    <style>
        #GFG_UP {
            font-size: 17px;
            font-weight: bold;
        }
          
        #GFG_DOWN {
            color: green;
            font-size: 24px;
            font-weight: bold;
        }
          
        button {
            margin-top: 20px;
        }
    </style>
</head>
<script src=
    "https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js">
</script>
  
<body style="text-align:center;" id="body">
    <h1 style="color:green;">  
            GeeksforGeeks  
        </h1>
    <p id="GFG_UP">
    </p>
      
    <input type="checkbox" name="type" value="GFG" /> GFG:
    <input type="checkbox" name="type" value="Geeks" /> Geeks:
    <input type="checkbox" name="type" value="Geek" /> Geek:
    <input type="checkbox" name="type" value="portal" /> portal:
    <br>
    <button>
        click here
    </button>
    <p id="GFG_DOWN">
    </p>
    <script>
        ('#GFG_UP')
        .text('First check few elements then click on the button.');
        ('button').on('click', function() {
            var array = [];
            ("input:checkbox[name=type]:checked").each(function() {
                array.push((this).val());
            });
            $('#GFG_DOWN').text(array);
        });
    </script>
</body>
  
</html>

输出:

  • 在点击按钮之前。
    如何在一个数组中使用jQuery获得所有选中的复选框?
  • 点击该按钮后。
    如何在一个数组中使用jQuery获得所有选中的复选框?

例子2:这个例子也做了同样的工作,但采用了不同的方法。这个例子通过一个选择器(与前一个不同)选择选中的复选框,然后对每个元素调用.each()方法,最后将它们推入数组。

<!DOCTYPE html>
<html>
  
<head>
    <title>
        JQuery | Get all selected checkboxes in an array.
    </title>
    <style>
        #GFG_UP {
            font-size: 17px;
            font-weight: bold;
        }
          
        #GFG_DOWN {
            color: green;
            font-size: 24px;
            font-weight: bold;
        }
          
        button {
            margin-top: 20px;
        }
    </style>
</head>
<script src=
     "https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js">
</script>
  
<body style="text-align:center;" id="body">
    <h1 style="color:green;">  
            GeeksforGeeks  
        </h1>
    <p id="GFG_UP">
    </p>
      
    <input type="checkbox" name="type" value="GFG" /> GFG:
    <input type="checkbox" name="type" value="Geeks" /> Geeks:
    <input type="checkbox" name="type" value="Geek" /> Geek:
    <input type="checkbox" name="type" value="portal" />portal:
    <br>
    <button>
        click here
    </button>
    <p id="GFG_DOWN">
    </p>
    <script>
        ('#GFG_UP')
        .text('First check few elements then click on the button.');
        ('button').on('click', function() {
            var array = [];
            ("input:checked").each(function() {
                array.push((this).val());
            });
            $('#GFG_DOWN').text(array);
        });
    </script>
</body>
  
</html>

输出:

  • 在点击按钮之前。
    如何在一个数组中使用jQuery获得所有选中的复选框?
  • 点击该按钮后。
    如何在一个数组中使用jQuery获得所有选中的复选框?

jQuery是一个开源的JavaScript库,它简化了HTML/CSS文档之间的交互,它以其 “少写多做 “的理念而广为人知。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程