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

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

预备知识

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

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

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

Validate表单验证插件之异步操作

使用ajax方式进行验证某个元素的值(只是验证元素的值,而不是ajax方式提交表单),默认会提交当前验证的值到请求的地址,如果要提交其它的值,可以使用data选项。

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

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

关于input的一些问题解决方法分享

input是我们接受来自用户的数据常用标签,在前端开发中:移动端底部input被弹出的键盘遮挡。控制input显/隐密码。在input中输入emoji表情导致请求失败。input多行输入显示换行。输入框首尾清除空格-trim()、在input中监听键盘事件

input输入限制只能为数字

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

input,textarea限制字数,实时绑定

input,textarea限制字数,实时绑定的方式:1.在input 或 textarea中加属性 、 2.js判断,拓展: 实时绑定功能:二种输入标签的实时绑定方式 。 需求:框后面有显示字数

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

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

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

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

HTML常用标签之<form>标签

在HTML中,<form></form>标记对用来创建一个表单,即定义表单的开始和结束位置,在标记对之间的一切都属于表单的内容。每个表单元素开始于form元素,可以包含所有的表单控件

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

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

点击更多...

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