js如何获取checkbox被选中的值?

更新日期: 2019-09-28 阅读: 13.8k 标签: 表单

预备知识

javascript dom 常用方法

方法名描述例子
document.getElementById返回给定id属性值的元素节点相对应的对象
document.getElementsByTagName返回给定name属性的元素节点对应的元素集合var hobbies = document.getElementsByName(“hobbies”);
element.nextSibling返回该元素紧跟的一个节点
nodeValue获取节点中的文本值 ,例如:跑步 跑步

数组常用方法:

方法 或者 属性说明例子
arrayObject.length属性:数组长度
arrayObject.push()向数组末尾添加一个或多个元素var arr = new Array(3)
arr[0] = “George”
arr[1] = “John”
arr[2] = “Thomas”

页面如下:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>javascript获取复选框值方法</title>
</head>

<body>
    <p>
        <input type="checkbox" name="hobbies" id="hobbies" class="hobbies" value="1">游泳
        <input type="checkbox" name="hobbies" id="hobbies" class="hobbies" value="2">跑步
    </p>

    <p>
        <button id="btn1">获取复选框值</button>
    </p>
 </body>

</html>


方法一

通过复选框的name属性,遍历后将被选中的复选框的值输出

checkbox[index].nextSibling.nodeValue: 获取的是checkbox中标签包裹的文本值

function get_checkbox_val() {
          var hobbies = document.getElementsByName("hobbies");
          for (let index = 0; index < hobbies.length; index++) {
              if (hobbies[index].checked) {
                  alert(hobbies[index].value + "," + hobbies[index].nextSibling.nodeValue);
              }

          }
  }


方法二

建立一个数组,使用push 方法将被选中的元素保存到数组

function get_checkbox_val_with_array() {
          var arr = [];
          for (let index = 0; index < hobbies.length; index++) {
              if (hobbies[index].checked) {
                  arr.push(hobbies[index].value);
              }
          }
          alert(arr);
  }


方法三

通过class选择器 获取被选中的复选框的值

function get_checkbox_val_with_selector() {
         var hobbies = document.getElementsByClassName('hobbies');
         for (let index = 0; index < hobbies.length; index++) {
             if (hobbies[index].checked) {
                 checkedValue = hobbies[index].value;
                 alert(hobbies[index].value + "," + hobbies[index].nextSibling.nodeValue);
             }
         }
     }


使用jquery

需要引入jquery,这里我使用国内的cdn

jquery中通过each() 方法遍历所有被选中的复选框的值

<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
<script>
         $('#btn1').click(function () {
            $("input[name='hobbies']:checked").each(function () {
                alert($(this).val());
            });
        });
    </script>
     
</script>

tips:$(“input[name=’xxxx’]:checked”) 被选中的复选框对象集合

原文:https://pinghailinfeng.gitee.io/2019/09/28/javascript-get-checkbox-checked-value/?utm_source=tuicool&utm_medium=referral

本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://fly63.com/article/detial/5561

相关推荐

如何禁止浏览器自动保存密码表单?

为了帐号和密码安全,作为程序员,如何不让浏览器自动记住密码呢?浏览器有时总是自动填充用户和密码,怎么屏蔽呢? 方法一:在输入框上添加 onfocus=this.type=password 输入框获得焦点时改变输入框格式为密码框

AntDesign表单的理解与使用

虽然 react 没有内置的表单验证逻辑,但是我们可以使用 react 组件库 AntDesign 中的表单组件 Form 来实现这一需求。具体地, AntDesign 中的表单组件 Form 与表单域 Form.Item(用于包裹任意输入控制的容器)配合使用:

在HTML中限制input 输入框只能输入纯数字

使用 onkeyup 事件,有 bug ,那就是在中文输入法状态下,输入汉字之后直接回车,会直接输入字母,使用 onchange 事件,在输入内容后,只有 input 丧失焦点时才会得到结果,并不能在输入时就做出响应,使用 oninput 事件,完美的解决了以上两种问题

vue2表单验证组件_vee-validate的使用教程

vee-validate基于vue2的表单验证组件,这篇文章主要讲解它的安装,引用,基础使用,内置的校验规则,自定义校验规则。Validator是以$validator被组件自动注入到Vue实例的,同时也可以独立的进行调用

Html5中input新增的表单元素和属性介绍。

input标签主要用于Web表单的创建交互,以便接受来自用户的数据。 我们通过更改type属性的值,来实现不同的输入类型。这篇文章主要讲解html5中新增的表单属性。

input输入限制只能为数字

input输入限制只能为数字的2种方法,通过onkeypress事件和onkeyup事件,输不上任何非数字字符。加上正则匹配不能输入非数字字符就可以了

javascript实现form表单onsubmit提交前验证

可以使用form表单的onsubmit方法,在提交表单之前,对表单或者网页中的数据进行检验。onsubmit指定的方法返回true,则提交数据;返回false不提交数据。

css实现修改浏览器自动填充表单的默认样式

当表单中存在input[password]的时候,采用submit方式提交。就会触发浏览器自动填充表单。比如chrome自动填充后,淡黄色输入框代替了背景样式,看起来有些怪异。input文本框是使用图片背景的

谷歌浏览器禁止表单自动填充

在项目开发期间发现谷歌浏览器有记住密码的功能,该功能有个问题就是一遇到input type=password就开始自动填充,同一个账户还好,就是bug了。找了一堆解决方案终于找到了办法,下面分享一下解决方案。

form表单input回车提交问题

文本框输入完成后点击回车页面刷新,问题出在form上,当表单中只有一个文本框的时候获取焦点并点击回车之后会提交表单内容,就会发生刷新事件。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!