• jquery之$.each用法(组织数组对象及json对象)


    1、遍历json对象

    var obj = {id:"id",name:"name"};
    $.each(obj,function(){
        //此处this 指代当前遍历到的obj 的胞元素,即属性键值对
        alert(this.id);//提示"id"
    });
    var obj2 = [{id:"id1"},{id:"id2"}];
    $.each(obj2,function(){
        //此处this 指代当前遍历到的obj 的胞元素,即数组
        alert(this.id);//提示"id1","id2"
    });
    

    2、遍历元素对象

    var selector = $("div");
    $.each(eles,function(){
        //此处this,指当前遍历到的eles 集合中div元素
    })

    举例如下:

    <div class="mblock">
        <input type="hidden" id="e" name="e" value="1" />
        <input type="checkbox" name="SSStatus" id="SSStatus" />
        <input type="checkbox" name="PFStatus" id="PFStatus" />
    </div>
    <div class="mblock">
        <input type="hidden" id="e2" name="e2" value="12" />
        <input type="checkbox" name="SSStatus" id="SSStatus" />
        <input type="checkbox" name="PFStatus" id="PFStatus" />
    </div>

     遍历上面的mblock对象,并把每一个mblock形成一个json对象数组,如:[{"EmployeeId":"1","SSStatus":1,"PFStatus":1},{"EmployeeId":"1","SSStatus":1,"PFStatus":1}]

     方法如下:

     $(function () {
            var mblockData = $(".mblock");
            var postData = [];
            $.each(mblockData, function () {
                var empId = $(this).find("input[type='hidden']").val();
                var cbData = $(this).find("input[type='checkbox']");
                var arr = { "EmployeeId": empId };
                $.each(cbData, function () {
                    var keyName = $(this).attr("id");
                    var isChecked = $(this).is(':checked') ? 1 : 0;
                    if (keyName=="SSStatus")
                        arr.SSStatus = isChecked;
                    if (keyName == "PFStatus")
                        arr.PFStatus = isChecked;
                })
                postData.push(arr);
            })
            console.info(postData)
    
        })

    这里用到怎样定义json数组及动态添加json值的方法

    进一步解释如下(向数组中添加josn使用push):

    var postData=[{"EmployeeId": "e2d6e69c", "SSStatus": 1,"PFStatus": 1}, {"EmployeeId": "b913cfe","SSStatus": 1,"PFStatus": 0}];
    var arr  ={"EmployeeId" : "abc","SSSTatus" : 1,"PFStatus":0};
    postData.push(arr);

    向json中添加元素使用如下方法:

    var arr = { "EmployeeId": "abc"};
    arr.SSStatus =1;
    arr.PFStatus = 0;
    那么最终arr会形成:arr={"EmployeeId": "e2d6e69c", "SSStatus": 1,"PFStatus": 1}
    学习交流群:364976091
  • 相关阅读:
    手机网页唤醒app,
    h5 audio进度条
    js判断字符串与字符串相互包含,以及数组是否包含某个元素;
    vue cli 打包项目造成css背景图路径错误
    vue-cli webpack打包不.map文件,iview 项目打包完,图标路径有问题
    常用的活动榜单
    vue-cli的webpack模板项目配置文件分析,配置信息详解
    eclipse怎么debug项目
    什么是前置机,前置机的作用是什么
    jsp中连接数据库及实现增删改查
  • 原文地址:https://www.cnblogs.com/firstcsharp/p/15292350.html
Copyright © 2020-2023  润新知