js之checkbox判断常用示例

简介: checkbox常用示例可参考:关于checkbox自动选中checkbox选中并通过ajax传数组到后台接收MP实战系列(十三)之批量修改操作(前后台异步交互)本次说的是,还是关于智能门锁开锁方式。

checkbox常用示例可参考:

关于checkbox自动选中

checkbox选中并通过ajax传数组到后台接收

MP实战系列(十三)之批量修改操作(前后台异步交互)

本次说的是,还是关于智能门锁开锁方式。通常情况下,开锁方式必须选择两种,或至少选择两种,否则就无法弹出对应的开锁方式列表以供勾选,这样一来。这就需要js层面的判断了,不可能全部推到服务器,这样用户少还好,用户多了,就不多说了。

还是那句话,前端能搞定的,就不要后端,特别是JS判断等。前端主要负责的是获取接口,得到数据,渲染html。

示例中,涉及到layui前端框架,关于layui前端框架,可参考我的这篇博文:layui弹出层之应用实例讲解

js代码如下:

    

  function test(){
        var names = document.getElementsByName("lock_id");          
        var flag = false ;//标记判断是否选中一个               
        for(var i=0;i<names.length;i++){
            if(names[i].checked){
                
                layui.use('layer', function(){
                    var layer = layui.layer;

                    layer.open({
                        type: 1, 
                        area: ['400px', '400px'],
                        content: '<div align="center"> <label class="layui-form-label">初始开锁</label><div>人脸识别:<input type="checkbox" name="first_way" title="人脸识别" id="a1" onclick="this.value=(this.value==0)?1:0"> &nbsp;&nbsp;  密码:<input type="checkbox" name="first_way" title="密码" id="b2" onclick="this.value=(this.value==0)?1:0">&nbsp;&nbsp;  二维码: <input type="checkbox" name="first_way" title="二维码" id="a3" onclick="this.value=(this.value==0)?1:0">&nbsp;&nbsp;  远程: <input type="checkbox" name="first_way" title="远程" id="a4" onclick="this.value=(this.value==0)?1:0">&nbsp;&nbsp;   指纹: <input type="checkbox" name="first_way" title="指纹" id="a5" onclick="this.value=(this.value==0)?1:0"><br/> <label class="layui-form-label">后续开锁</label><div>人脸识别:<input type="checkbox" name="laster_way" title="人脸识别" id="b1" onclick="this.value=(this.value==0)?1:0"> &nbsp;&nbsp;  密码:<input type="checkbox" name="laster_way" id="b2" title="密码" onclick="this.value=(this.value==0)?1:0">&nbsp;&nbsp;  二维码: <input type="checkbox" name="laster_way" title="二维码" id="b3" onclick="this.value=(this.value==0)?1:0">&nbsp;&nbsp;  远程: <input type="checkbox" name="laster_way" title="远程" id="b4" onclick="this.value=(this.value==0)?1:0">&nbsp;&nbsp;   指纹: <input type="checkbox" name="laster_way" title="指纹" id="b5" onclick="this.value=(this.value==0)?1:0"><br/><p><input type="button" value="提交" onclick="test2()"/></p></div>' //这里content是一个普通的String
                      });
                  }); 
                
                    flag = true ;
                    break ;
             }
         }
         if(!flag){
             layui.use('layer', function(){
                 var layer = layui.layer;
                 
                 layer.alert("至少选择一个门锁",{icon:5});
           });
            return false ;
         }
    
      
          
          
   } 

 

目录
相关文章
|
5月前
|
前端开发 JavaScript API
js实现promise常用场景使用示例
本文介绍JavaScript中Promise的6种常用场景:异步请求、定时器封装、并行执行、竞速操作、任务队列及与async/await结合使用,通过实用示例展示如何优雅处理异步逻辑,避免回调地狱,提升代码可读性与维护性。
329 10
|
JSON JavaScript 关系型数据库
node.js连接GBase 8a 数据库 并进行查询代码示例
node.js连接GBase 8a 数据库 并进行查询代码示例
|
前端开发 JavaScript 开发者
Express.js与前端框架的集成:React、Vue和Angular的示例与技巧
本文介绍了如何将简洁灵活的Node.js后端框架Express.js与三大流行前端框架——React、Vue及Angular进行集成,以提升开发效率与代码可维护性。文中提供了详细的示例代码和实用技巧,展示了如何利用Express.js处理路由和静态文件服务,同时在React、Vue和Angular中构建用户界面,帮助开发者快速掌握前后端分离的开发方法,实现高效、灵活的Web应用构建。
564 3
|
前端开发 JavaScript 开发者
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例
本文提供了一个前端JS按钮点击事件、弹出式窗口和遮罩层的实战示例,包括HTML、CSS和JavaScript的具体实现代码,以及功能解析,演示了如何实现按钮点击后触发弹窗显示和遮罩层,并在2秒后自动关闭或点击遮罩层关闭弹窗的效果。
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例
|
JavaScript 前端开发
【Azure Developer】在App Service上放置一个JS页面并引用msal.min.js成功获取AAD用户名示例
【Azure Developer】在App Service上放置一个JS页面并引用msal.min.js成功获取AAD用户名示例
226 1
|
JavaScript
js之三级联动示例
js之三级联动示例
128 1
|
JSON Dart 前端开发
JavaScript 代码示例及 Dart 对应代码
JavaScript 代码示例及 Dart 对应代码
192 5
|
JavaScript 前端开发
用JavaScript编程控制网页上checkbox选择状态:全选、全部取消、反选
用JavaScript编程控制网页上checkbox选择状态:全选、全部取消、反选
|
JSON 中间件 API
中间件API示例(以Express.js为例)
【6月更文挑战第14天】
228 8
|
JSON Dart 前端开发
JavaScript 代码示例及其 Dart 对应代码
从React/React Native转向Flutter开发时,开发者常需查找Dart对等的JS语法。这里列举了15个转换示例,涉及JSON转换、数组操作、条件检查及转换方法。例如,JS的`JSON.stringify`在Dart中是`JsonEncoder().convert`,`array.push`对应`list.add`,`array.findIndex`在Dart中是`list.indexWhere`。Dart还提供了如`list.any`和`list.every`等类似JS的数组方法。虽然语法有别,但核心功能相似。
181 5