哪位大佬帮我释义下这段代码

QQ截图20240104154545.pngQQ截图20240104154645.pngvar value=this.getValue();

$("[id*='B']").each(function()

    {

        var trow=$(this).attr("row");

        if(trow>0 && $(this).text().length>0) {

            if (value.indexOf($(this).text()) >=0 || value.length ==0) {

                contentPane.setCellValue(3, trow, "1")

            } else {

                contentPane.setCellValue(3, trow, "0")

            }

            var B_guolu=contentPane.getCellValue(3, trow);

            var E_guolu=contentPane.getCellValue(6, trow);

            var H_guolu=contentPane.getCellValue(9, trow);

            var K_guolu=contentPane.getCellValue(12, trow);

            if(B_guolu==1 && E_guolu==1 && H_guolu==1 && K_guolu==1){

                $(this).parent().show();

            }else{

                $(this).parent().hide();

            }

        }

    }

);

JavaScript 小白不白 发布于 2024-1-4 14:07 (编辑于 2024-1-4 15:47)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2024-1-4 14:25

大概意思如下:

var value=this.getValue();//获取当前值

$("[id*='B']").each(function() //循环获取B列的值

    {

        var trow=$(this).attr("row");//获取当前行号trow

        if(trow>0 && $(this).text().length>0) {//如果行号大于0且单元格值不为空

            if (value.indexOf($(this).text()) >=0 || value.length ==0) {//如果value中包含单元格值或者单元格值为空

                contentPane.setCellValue(3, trow, "1")//将trow行的D列值改为1

            } else {

                contentPane.setCellValue(3, trow, "0")//将trow行的D列值改为0

            }

            var B_guolu=contentPane.getCellValue(3, trow);//获取trow行的D列值

            var E_guolu=contentPane.getCellValue(6, trow);//获取trow行的G列值

            var H_guolu=contentPane.getCellValue(9, trow);//获取trow行的J列值

            var K_guolu=contentPane.getCellValue(12, trow);//获取trow行的M列值

//上面可能数错了 反正A 对应0,B对应1 依次类推

            if(B_guolu==1 && E_guolu==1 && H_guolu==1 && K_guolu==1){//值都为1

                $(this).parent().show();//父元素显示

            }else{

                $(this).parent().hide();//父元素隐藏

            }

        }

    }

);

  • 小白不白 小白不白(提问者) 麻烦帮我看下,我这里参照写的,不过我点筛选,就出现上面第二张图片的效果,就全都隐藏了,是不是我哪里理解错了。
    2024-01-04 15:48 
  • Z4u3z1 Z4u3z1 回复 小白不白(提问者) 没数据看不出来
    2024-01-04 15:50 
  • 小白不白 小白不白(提问者) 回复 Z4u3z1 截图就是JS和对应的FR模版
    2024-01-04 15:54 
  • Z4u3z1 Z4u3z1 回复 小白不白(提问者) 你把隐藏注释掉再测试 看D8单元格扩展的值是不是1
    2024-01-04 15:59 
  • 小白不白 小白不白(提问者) 回复 Z4u3z1 好像是返回值的原因,我把返回类型改成字符串了。不过很卡,出不来
    2024-01-04 16:16 
最佳回答
0
快乐星光Lv5中级互助
发布于2024-1-4 14:26

试试看一下

image.png

  • 小白不白 小白不白(提问者) 还有没有填报表头做筛选功能的简便做法了,这个JS很卡。
    2024-01-04 16:18 
  • 快乐星光 快乐星光 回复 小白不白(提问者) 这个js和你的要求(填报表)完全不符合,整个换个逻辑和js接口做。用getCellValue循环获取C列扩展行的值,将符合条件的行数添加到需要删除的数组里面,用_g().deleteRows(cells);来批量删除行。参考:https://help.fanruan.com/finereport/doc-view-1215.html
    2024-01-05 09:11 
最佳回答
0
luojian0323Lv7资深互助
发布于2024-1-4 14:29

var value=this.getValue();//获取当前控件值

$("[id*='B']").each(function() //遍历B列

    {

        var trow=$(this).attr("row"); //将遍历到的行号给trow

        if(trow>0 && $(this).text().length>0) { //当行号在第2行以下且单元格中不为空时

            if (value.indexOf($(this).text()) >=0 || value.length ==0) { //上面的控件值包含遍历行单元格的值或控件值为空时

                contentPane.setCellValue(3, trow, "1") //给当前遍历行的D列赋值1

            } else {

                contentPane.setCellValue(3, trow, "0") //给当前遍历行的D列赋值0

            }

            var B_guolu=contentPane.getCellValue(3, trow);//将当前遍历行的D列的值赋给B_guolu

            var E_guolu=contentPane.getCellValue(6, trow);//将当前遍历行的G列的值赋给E_guolu

            var H_guolu=contentPane.getCellValue(9, trow);//将当前遍历行的J列的值赋给H_guolu

            var K_guolu=contentPane.getCellValue(12, trow);//将当前遍历行的N列的值赋给K_guolu

            if(B_guolu==1 && E_guolu==1 && H_guolu==1 && K_guolu==1){ //当这几个值都为1时

                $(this).parent().show(); //显示父级元素

            }else{

                $(this).parent().hide();//隐藏父级元素

            }

        }

    }

);

  • 小白不白 小白不白(提问者) 还有没有填报做筛选功能的简便做法了,这个JS很卡。
    2024-01-04 16:17 
  • 3关注人数
  • 496浏览人数
  • 最后回答于:2024-1-4 15:47
    请选择关闭问题的原因
    确定 取消
    返回顶部