• 软工终结日报-多条件查询的逻辑修改 6/8


    之前做的多条件查询中,相关的查询条件全部使用and相连,毕竟数据是直接加载到页面上的,所以其实是在页面上进行的数据集分割

    那么,我们可不可以将判断条件变得更加多元化呢?比如动态的and和or。

    我先写了一个条件判断函数:

        function srcs(p){
            
            var s2=document.getElementById("s2").value;
            var s3=document.getElementById("s3").value;
            var s4=document.getElementById("s4").value;
            var s5=document.getElementById("s5").value;
            var s6=document.getElementById("s6").value;
            
            var s0=[s2,s3,s4,s5,s6];
    
            var title=document.getElementById("title").value;
            var title1=document.getElementById("title1").value;
            var title2=document.getElementById("title2").value;
            var title3=document.getElementById("title3").value;
            var title4=document.getElementById("title4").value;
            var title5=document.getElementById("title5").value;
            
            var titles=[title1,title2,title3,title4,title5];
            
            var a=p.includes(title);
            
            for(i=0;i<5;i++){
                if(s0[i]=='和'){
                    a=a&&(p.includes(titles[i]));
                }else{
                    a=a||(p.includes(titles[i]));
                }
            }    
            return a;
        }

    通过获取到选项元素的值并借此来判断的函数

    之后改写原本的条件筛选函数:

    function changeable(){
            var year=document.getElementById("year").value;
            var title=document.getElementById("title").value;
            var title1=document.getElementById("title1").value;
            var title2=document.getElementById("title2").value;
            var title3=document.getElementById("title3").value;
            var title4=document.getElementById("title4").value;
            var title5=document.getElementById("title5").value;
            var tab=document.getElementById("iccvtable");
            for( var i=0;i<tab.rows.length;){
                      tab.deleteRow(0);   
            }
            tab=document.getElementById("eccvtable");
            for( var i=0;i<tab.rows.length;){
                      tab.deleteRow(0);   
            }
            tab=document.getElementById("cvrptable");
            for( var i=0;i<tab.rows.length;){
                      tab.deleteRow(0);   
            }
            ic=0;ec=0;cv=0;
            for(var i = 0;i < iccv.length; i++){
                if(srcs(iccv[i].title.toLowerCase())&&iccv[i].year.includes(year)){
                dogo("iccvtable",iccv[i].title,iccv[i].links,iccv[i].year);
                ic++;
                }
            }
            for(var i = 0;i < eccv.length; i++){
                if(srcs(eccv[i].title.toLowerCase())&&eccv[i].year.includes(year)){
                dogo("eccvtable",eccv[i].title,eccv[i].links,eccv[i].year);
                ec++;
                }
            }
            for(var i = 0;i < cvrp.length; i++){
                if(srcs(cvrp[i].title.toLowerCase())&&cvrp[i].year.includes(year)){
                dogo("cvrptable",cvrp[i].title,cvrp[i].links,cvrp[i].year);
                cv++;
                }
            }
        }

    好,这样就实现了多条件查询咯!

  • 相关阅读:
    vscode, cmake编译多个C++文件
    pytorch下的lib库 源码阅读笔记(1)
    pytorch学习笔记
    SSH无密码登录及远程拷贝命令SCP的使用
    Hadoop启动方式
    Hadoop出现的错误及处理
    Hadoop安装
    Hadoop生态系统图解
    shell脚本入门基础知识
    python中迷茫的编码问题
  • 原文地址:https://www.cnblogs.com/Sakuraba/p/14912368.html
Copyright © 2020-2023  润新知