zoukankan      html  css  js  c++  java
  • 检测对象是否是一个空的对象

    在项目中碰到一个问题

      1. 检测一组checkbox是否被选中

      2. 如果被选中,返回它对应的name值

      3. 如果一个都没选中,返回一个false

    我想到的解决方案

    var checkList_box = function(param,output){
      var $boolean,$result = {};
      if(param){ 
        if(typeof param === 'string'){
          $boolean = $(param).prop('checked') ? true : false;
           $result['name_'+param] = $(param).attr('name')
          } 
        else if(typeof param === 'object'){
            $.each(param,function(i,n){
              if($(n).prop('checked')){
                $boolean = true;
                $result['name_'+n] = $(n).attr('name');
              }
            })
            //注意此外需判断对象是否为空的对象
             //第一种不兼容的方法   先写出来的,最后发现不兼容IE6 IE7
            //JSON对象在IE8以下不支持
            if(JSON.stringify(result) === '{}'){
               $boolean = false;
                return false
            }
            //第二种方法,采用枚举对象的方法
            $boolean = checkObj(result)
            if($boolean){       
              return result
            }else{
              return false 
           }
          }    
        }else{
           return false
        }
      return result        
    }

    其中 checkObj()方法如下

    var checkObj = function(param){
    
      if(typeof param !== ‘object’ || param === ‘null’){
           return false
       }
    
      else{
    
        var k =0;
    
        for (var  i in param){
    
            if(param.hasOwnProperty(n)){
                   k++
    
            }
    
        }
    
        return !!k
    
    }
    
    }

    完毕 !!

    写完突然发现自已好傻,可以用jquery 中的选择器来做同样的事情

    var arr = $(':checkbox")
    var result = {}
    $.each(arr,function(i,n){
      if($(this).prop("checked")){
       result['name'+n] = $(this).attr('name')
     }
      return result
    })

      就权当留作一个教训吧!!!

  • 相关阅读:
    Tensorflow2.0基础
    Tensorflow2.0多层感知机实现mnist手写数字识别
    numpy数组的维度操作和axis的对应关系
    jupyter notebook使用
    darknet批量测试并保存图片
    darknet训练自身数据集的小问题
    PIL批量更改图片格式 及bat/cmd文件批量修改文件后缀名
    cv::Mat用法
    VS配置opencv、cuda及调用yolo动态链接库
    VS之 32 or 64
  • 原文地址:https://www.cnblogs.com/fsy0718/p/3082841.html
Copyright © 2011-2022 走看看