0

我正在修改即时 JQuery 搜索以用于具有多列的共享点列表。

我几乎可以正常工作,但是在使用 AND 条件和 OR 条件时遇到了麻烦。

搜索框看起来像这样,

用户 1 或用户 2,客户

这就是我希望用户搜索的方式......这意味着他们可以搜索 User1 OR User2 AND Customer。这应该产生什么是非常直接的,这就是我认为它应该看起来的样子。但它不是对客户执行 AND 运算符。

tr.ms-itmhover:Contains('User1'),tr.ms-itmhover:Contains('User2'):tr.ms-itmhover:Contains('Customer')

下面是我的javascript:

 var txt = $("input.search").val().split(',');
         var str = "";
         var strnot = "";
         if (txt)
         {
             for(var i=0;i<txt.length;i++) {
                var txt2 = txt[i].split('OR');
                if (txt2.length > 1) {
                    for (var j=0;j<txt2.length;j++) {
                        if (j==0) {
                            str += "tr.ms-itmhover:Contains('"+txt2[j].toString().trim() +"')";
                        }
                        else {
                            if (txt2[j].length > 0) {
                                str += ",tr.ms-itmhover:Contains('"+txt2[j].toString().trim() + "')";
                            }
                        }
                    }
                }
                else {
                    if (txt[i].length > 0) {
                        if (i == 0)
                            str += "tr.ms-itmhover:Contains('"+txt[i].toString().trim() +"')";
                        else
                            str += ":tr.ms-itmhover:Contains('"+txt[i].toString().trim() +"')";
                    }
                }
             }
             $("#temp").html(str);

             //$("#WebPartWPQ2").find(str).hide();     
             //$("#WebPartWPQ2").find(str).show();    

            $("#WebPartWPQ2").find("tr.ms-itmhover:not("+str+")").hide();     
            $("#WebPartWPQ2").find("tr.ms-itmhover"+str+"").show();    
        } 
        else 
        {   
            $("#WebPartWPQ2").find("tr.ms-itmhover").show();
        }
4

0 回答 0