js 数组添加跟删除

前言

样例场景: 根据查询出来的的数据生成一个个的方格,然后可以进行选择,选中时颜色变成蓝色,不选中默认灰色。

提示:下面案例可供参考

二、使用步骤

1.定义div

<div id="boxDivs" style="display:none">
        <div id="boxDivTwo"></div>
    </div>

2.请求数据,并动态生成数据方块

 funtion createBox()
 {
 	pageHelper.post("/XXXXXXX/aaaaaaa?projectId=" + projectId + "&sampleType=" + sampleType + "&generation=" + generation + "&batchNo=" + batchNo + "&sampleNo=" + sampleNo, {}, function (data) {
                var html = "";
                $.each(data, function (index, item) {
                    html = "<div class='boxDiv'style='display:inline-block' οnclick='colorChange(this)'>" +
                        "<input type='hidden' name='HdnId' value='" + item["id"] + "'>" +
                        "<input type='hidden' name='HdnSampleNo' value='" + item["sampleNo"] + "'>" +
                        "<input type='hidden' name='HdnSampleNm' value='" + item["sampleNm"] + "'>" +
                        "<input type='hidden' name='HdnCurrCapacity' value='" + item["currCapacity"] + "'>" +
                        "<input type='hidden' name='HdnUnit' value='" + item["unit"] + "'>" +
                        "<input type='hidden' name='HdnProjectId' value='" + item["projectId"] + "'>" +
                        "<input type='hidden' name='HdnProjectNm' value='" + item["projectNm"] + "'>" +
                        "<div class='divClass'>" + item["sampleNo"] + "</div></div> "
                    $("#boxDivs > div").append(html);
                });
            });
 }
       

3.点击方块事件

var boxArr = [];//声明数据存储

function colorChange(obj) {
		//获取隐藏值
        var id = $(obj).find("input[name='HdnId']").val();
        var sampleNo = $(obj).find("input[name='HdnSampleNo']").val();
        var sampleNm = $(obj).find("input[name='HdnSampleNm']").val();
        var currCapacity = $(obj).find("input[name='HdnCurrCapacity']").val();
        var unit = $(obj).find("input[name='HdnUnit']").val();
        var projectId = $(obj).find("input[name='HdnProjectId']").val();
        var projectNm = $(obj).find("input[name='HdnProjectNm']").val().toString();
        var color = $(obj).css("background-color");
		//组成选中的数据
        var arryInfo = { id: id, sampleNo: sampleNo, sampleNm: sampleNm, currCapacity: currCapacity, unit: unit, projectId: projectId, projectNm: projectNm };
        if (color == "rgb(173, 216, 230)") {
            $(obj).css("background-color", ""); 
            //根据id的值删除选中的某一项
            boxArr = boxArr.filter(item => item.id != id); 
        } else {
            $(obj).css("background-color", "LightBlue");
            //将选中的值放入数组;
            boxArr.push(arryInfo);
        } 
        //console.log(JSON.stringify(boxArr));
    }
        } 

4.数组遍历

 function foreach()
 {
 	//循环
 	for (var i = 0; i < boxArr.length; i++) {
                              var et = boxArr[i]
                            //检查选中的样本是否已经存在,若存在 则不操作
                            var isRepeat = false;
                            for (var j = 0; j < mxList.length; j++) {
                                if (mxList[j]["sampleId"] == et.id) {
                                    isRepeat = true;
                                    break
                                }
                            }
                            if (isRepeat) {
                                continue;
                            }
                            var mx = { billNo: $("#submitForm #billNo").val(), sampleId: et.id, sampleNo: et.sampleNo, sampleNm: et.sampleNm, currCapacity: et.currCapacity, useCapacity: 0, unit: et.unit, isDestroy: null, projectId: et.projectId, projectNm: et.projectNm == "null" ? "" : et.projectNm}
                            mxList.push(mx)
                        }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值