jquery获取复选框checkbox的值的简单实现方法


Posted in Javascript onMay 26, 2016

jQuery API :

each(callback) :以每一个匹配的元素作为上下文来执行一个函数。

:checked :匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option)

js:

//js获取复选框值  
      var obj = document.getElementsByName("interest");//选择所有name="interest"的对象,返回数组  
      var s='';//如果这样定义var s;变量s中会默认被赋个null值
      for(var i=0;i<obj.length;i++){
         if(obj[i].checked) //取到对象数组后,我们来循环检测它是不是被选中
         s+=obj[i].value+',';  //如果选中,将value添加到变量s中  
      }

jquery:

//jquery获取复选框值  
      var chk_value =[];//定义一个数组  
      $('input[name="interest"]:checked').each(function(){//遍历每一个名字为interest的复选框,其中选中的执行函数  
      chk_value.push($(this).val());//将选中的值添加到数组chk_value中  
      });

其中jsp页面代码

<%@ page language="java" contentType="text/html" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
//   basePath = http          :// 127.0.0.1         : 8080          /DWR_checkbox /
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <base href="<%=basePath%>">
  
  <title>DWR获取浏览器页面信息</title>
  <meta http-equiv="pragma" content="no-cache">
  <meta http-equiv="cache-control" content="no-cache">
  <meta http-equiv="expires" content="0">  
  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  <meta http-equiv="description" content="This is my page">
  <!--
  <link rel="stylesheet" type="text/css" href="styles.css">
  -->
     <script type="text/javascript" src="jquery-1.7.2.js"></script>
    <script type='text/javascript' src='<%=path%>/dwr/engine.js'></script>
    <script type='text/javascript' src='<%=path%>/dwr/util.js'></script>
    <script type='text/javascript' src='<%=path%>/dwr/interface/test.js'></script>
    <script type='text/javascript' src='<%=path%>/dwr/interface/test1.js'></script>
    <script type='text/javascript' src='<%=path%>/dwr/interface/userLogin.js'></script>
  <script type="text/javascript"> 
  
    function ceshi1()
    { 
      test.hasPermission(mydwr("user").value,mydwr("pass").value, // 使用$()属性获取当前页面输入的用户名和权限的值
        function(data)
        {
          if(data)
          {
            mydwr("hp1").checked = "checked";
          }else{
            mydwr("hp1").checked = null;
          }
          document.getElementById("boolean1").value = data;
        });
    }
    
    function ceshi2()
    {
      test.hasPermission(dwr.util.getValue("username"),dwr.util.getValue("password"),// 使用DWR中的util.js工具中的属性获取当前页面输入的用户名和权限的值,给后台.java的hasPermission方法的参数赋值,再执行此方法(不是void类型有返回值)得到个返回值。
        function(data)
        {
          if(data)
          {
            document.getElementById("hp").checked = "checked"; // 使用byId()属性获取当前页面checkbox的checked属性
          }else{
            document.getElementById("hp").checked = null;
          }
          document.getElementById("boolean2").value = data;
          dwr.util.setValue("boolean3",data);
          //dwr.util.setValue(boolean3,"哈哈");
          dwr.util.setValue(div,data);
          //dwr.util.setValue(body,data);
        }); // 用function(data)方法来处理后台.java方法执行后的返回值,存在data变量中,在执行function(data)方法的语句
    }
    
    function invoke1()
    { 
      dwr.engine.setAsync(false);//<!-- 默认是异步执行的true,设置成false就是同步执行 方法按顺序执行-->
      test1.method1(
        function(data){
          alert(data);
        }
      );
      test1.method2(
        function(data){
          alert(data);
        }
      );
    }
    
    function invoke2(){ 
      test.getArray(
         function(data)
         {
           //for(var i=0;i<data.length;i++){
           //  alert(data[i]);
           //}
           dwr.util.addOptions(selectid,data);//根据后台数组值填充ID为selectid的列表
         });
     } 
     function invoke3(){
      dwr.util.removeAllRows(tid);//根据tbody的id删除该tbody
     }
     
     function invoke4(){
       var a=dwr.util.getText(selectid);
      dwr.util.setValue(tdid,a);
     }
    function show()
    {
      var name = document.getElementById("user").value;
      var pass = document.getElementById("pass").value;
      var obj = new objBean(name,pass); 
      userLogin.alterUser(obj,
        function(data){
          if(name == data.username && pass == data.password){
            alert("success");
          }else{
            alert("error");
          }
          document.getElementById("user").value = data.username;
          document.getElementById("pass").value = data.password;
      });
    }
    function objBean(name,pass)
    {
      this.username = name;
      this.password = pass;
    }
    function go_to()
    {  
      $('#first_jsp').show();
      test.getInclude(function(data){
        $('#first_jsp').html(data);
      });
    }
    function go_to_iframe()
    {
      $("#myframe1").show();
      test.getIncludeBean(function(data){
        $('#myframe1').attr('src',"<%=basePath%>"+data);
      });
    }
    function getInfo(){
      //js获取复选框值  
      var obj = document.getElementsByName("interest");//选择所有name="interest"的对象,返回数组  
      var s='';//如果这样定义var s;变量s中会默认被赋个null值
      for(var i=0;i<obj.length;i++){
         if(obj[i].checked) //取到对象数组后,我们来循环检测它是不是被选中
         s+=obj[i].value+',';  //如果选中,将value添加到变量s中  
      }
      alert(s == '' ? '你还没有选择任何内容!' :s);
      
      dwr.util.setValue(tdid,s);
      //jquery获取复选框值  
      var chk_value =[];//定义一个数组  
      $('input[name="interest"]:checked').each(function(){//遍历每一个名字为interest的复选框,其中选中的执行函数  
      chk_value.push($(this).val());//将选中的值添加到数组chk_value中  
      });  
      alert(chk_value.length==0 ?'你还没有选择任何内容!':chk_value);  
      dwr.util.setValue(checkboxInfo,chk_value);
    }
  </script>
 </head>
 <body id="body">
 <form>
   <table id="tableid" border="1" align="center">
     <tr><td>用户名:</td><td><input id="user" type="text" name="username"/></td></tr>
     <tr><td>密码:</td><td><input id="pass" type="text" name="password"/></td></tr>
     <tr>
       <td><input id="getInfo" type="button" value="获取信息" onclick="show()"/></td>
       <td><input type="reset" value="重置" /></td>
     </tr>
     <tbody id="tid">
       <tr>
         <td colspan="2" >
           <input id="hp1" type="checkbox" name="hpname" >测试权限<br>
          <input type="button"name="button"value="测试1" onclick="ceshi1()"> 
          返回值:<input id="boolean1" type="text" />
        </td>
       </tr>
       <tr>
         <td >
           <input id="hp" type="checkbox" name="hpname" >测试权限<br>
           <input type="button"name="button"value="测试2" onclick="ceshi2()">
        </td>
        <td>
          返回值:<input id="boolean2" type="text" />
          dwr.util.setValue:<input id="boolean3" type="text" />
          <div id="div" > 这是一个div标签</div>
        </td>
       </tr>
     </tbody>
     <tr>
       <td id="tdid"colspan="2" >修改此行值</td>
     </tr>
  </table>
  </form>
        <input type="button"name="button"value="异步调用测试" onclick="invoke1()">
        <input type="button"name="button"value="加载Array值" onclick="invoke2()">
        <input type="button"name="button"value="删除所有行" onclick="invoke3()">
        <input type="button"name="button"value="修改行值" onclick="invoke4()">
    <div>
      <select id="selectid"></select>
    </div>
    <input type="button"name="button"value="框架(iframe)中加载bean.jsp" onclick="go_to_iframe()">
    <input type="button"name="button"value="DIV中加载first.jsp" onclick="go_to()">
    <iframe id="myframe1" style="width:500;height:200;border:10px;padding:0px;display:none" src="" ></iframe>
    <div id="first_jsp" style="width: 100%; height: auto; display:none"></div>
<form>
    <input type="checkbox" name="interest" value="VC" />VC
    <input type="checkbox" name="interest" value="VB" />VB
    <input type="checkbox" name="interest" value="VFoxpro" />VFoxpro
    <input type="checkbox" name="interest" value="VJava" />VJava
    <input type="checkbox" name="interest" value="BC" />BC
    <input type="checkbox" name="interest" value="Cobol" />COobol
    <input type="checkbox" name="interest" value="Java" />Java
    <input type="checkbox" name="interest" value="Delphi" />Delphi
    <input type="button" value="获取复选框值" onclick="getInfo()">
</form>
    <div id="checkboxInfo" style="width: 100%; height: auto; display:block"></div>
 </body>
</html>

以上这篇jquery获取复选框checkbox的值的简单实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
8款非常棒的响应式jQuery 幻灯片插件推荐
Feb 02 Javascript
基于jQuery选择器的整理集合
Apr 26 Javascript
Javascript中常见的校验如域名、手机、邮箱等等
Jan 02 Javascript
JS实现控制表格内指定单元格内容对齐的方法
Mar 30 Javascript
JavaScript中的Math.sin()方法使用详解
Jun 15 Javascript
JavaScript中的this到底是什么(一)
Dec 09 Javascript
Bootstrap每天必学之按钮(Button)插件
Apr 25 Javascript
Node.js 数据加密传输浅析
Nov 16 Javascript
Angular CLI在Angular项目中如何使用scss详解
Apr 10 Javascript
javascript的this关键字详解
May 20 Javascript
node将geojson转shp返回给前端的实现方法
May 29 Javascript
layui树形菜单动态遍历的例子
Sep 23 Javascript
jquery判断checkbox是否选中及改变checkbox状态的实现方法
May 26 #Javascript
jquery获取所有选中的checkbox实现代码
May 26 #Javascript
JQuery点击行tr实现checkBox选中的简单实例
May 26 #Javascript
动态加载js、css的简单实现代码
May 26 #Javascript
JS hashMap实例详解
May 26 #Javascript
jQuery验证插件validate使用方法详解
Sep 13 #Javascript
动态加载js、css的实例代码
May 26 #Javascript
You might like
php auth_http类库进行身份效验
2009/03/19 PHP
PHP连接Nginx服务器并解析Nginx日志的方法
2015/08/16 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
使用Math.floor与Math.random取随机整数的方法详解
2013/05/07 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
2013/08/07 Javascript
javascript中局部变量和全局变量的区别详解
2015/02/27 Javascript
异步JavaScript编程中的Promise使用方法
2015/07/28 Javascript
Bootstrap布局组件教程之Bootstrap下拉菜单
2016/06/12 Javascript
AngularJS 单元测试(二)详解
2016/09/21 Javascript
React实现点击删除列表中对应项
2017/01/10 Javascript
Vuex之理解state的用法实例
2017/04/19 Javascript
Vue 2.0中生命周期与钩子函数的一些理解
2017/05/09 Javascript
gulp教程_从入门到项目中快速上手使用方法
2017/09/14 Javascript
使用vue-router设置每个页面的title方法
2018/02/11 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
2018/09/28 Javascript
如何使用CSS3+JQuery实现悬浮墙式菜单
2019/06/18 jQuery
JavaScript实现英语单词题库
2019/12/24 Javascript
jquery实现鼠标悬浮弹出气泡提示框
2020/12/23 jQuery
[45:38]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第一局
2016/03/02 DOTA
[47:12]TFT vs Secret Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
[01:36]极致酷炫!TI9典藏宝瓶+撼地者至宝展示
2019/06/11 DOTA
[43:18]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
用python实现的可以拷贝或剪切一个文件列表中的所有文件
2009/04/30 Python
详解django的serializer序列化model几种方法
2018/10/16 Python
python SQLAlchemy 中的Engine详解
2019/07/04 Python
python 实现兔子生兔子示例
2019/11/21 Python
使用python 对验证码图片进行降噪处理
2019/12/18 Python
Python实现曲线拟合的最小二乘法
2021/02/19 Python
温泉秘密:Onsen Secret
2020/07/06 全球购物
STP协议的主要用途是什么?为什么要用STP
2012/12/20 面试题
历史专业毕业生的自我鉴定
2013/11/15 职场文书
经济贸易系毕业生求职信
2014/05/31 职场文书
2015秋季小学开学寄语
2015/05/27 职场文书
vue+echarts实现多条折线图
2022/03/21 Vue.js
Apache SeaTunnel实现 非CDC数据抽取
2022/05/20 Servers