2016-03-18 19 views
0

2つの変数の組み合わせから読み込まれた文字列に対してJqueryが検索を実行しようとしています。2つの文字列の要素を検索するJquery

ここでは、より多くの文脈のために、以下にいくつかのコードを示します。 このコードの目的は、ボタンを押して指定した値と、ユーザーがオプションで入力できる値の両方をSharePointテーブルで検索することです。ユーザーは、検索入力(txt変数)またはボタンのみを使用して検索することができます。

var ButtonValue = null 
$("#button1").click(function(){ 


      $("#WebPartWPQ5").find("tr.ms-itmhover:not(:Contains('Faucets'))").hide(); 
      $("#WebPartWPQ5").find("tr.ms-itmhover:Contains('Faucets')").show(); 

      $("#WebPartWPQ6").find("tr.ms-itmhover:not(:Contains('Faucets'))").hide(); 
      $("#WebPartWPQ6").find("tr.ms-itmhover:Contains('Faucets')").show(); 

      $("#WebPartWPQ4").find("tr.ms-itmhover:not(:Contains('Faucets'))").hide(); 
      $("#WebPartWPQ4").find("tr.ms-itmhover:Contains('Faucets')").show(); 

      $("#WebPartWPQ7").find("tr.ms-itmhover:not(:Contains('Faucets'))").hide(); 
      $("#WebPartWPQ7").find("tr.ms-itmhover:Contains('Faucets')").show(); 

      $("#WebPartWPQ2").find("tr.ms-itmhover:not(:Contains('Faucets'))").hide(); 
      $("#WebPartWPQ2").find("tr.ms-itmhover:Contains('Faucets')").show(); 

      $("#WebPartWPQ8").find("tr.ms-itmhover:not(:Contains('Faucets'))").hide(); 
      $("#WebPartWPQ8").find("tr.ms-itmhover:Contains('Faucets')").show() 
      ButtonValue = "Faucets" 

      }); 

$("input.search").change(function() { 
       var txt = $("input.search").val(); 



     if (txt) { 
       //alert("VN : " + VN); 
       //alert(".change() called"); 

      //Vendor List 
      $("#WebPartWPQ5").find("tr.ms-itmhover:not(:Contains("+txt+" "+ButtonValue+"))").hide(); 
      $("#WebPartWPQ5").find("tr.ms-itmhover:Contains("+txt+" "+ButtonValue+")").show(); 

      //Manufacturer Reps 
      // Logic to see search value is numeric then search using the company name 
      $("#WebPartWPQ6").find("tr.ms-itmhover:not(:Contains("+txt+" "+ButtonValue+"))").hide(); 
      $("#WebPartWPQ6").find("tr.ms-itmhover:Contains("+txt+" "+ButtonValue+")").show(); 

      //Vendor Contact List 
      $("#WebPartWPQ4").find("tr.ms-itmhover:not(:Contains("+txt+" "+ButtonValue+"))").hide(); 
      $("#WebPartWPQ4").find("tr.ms-itmhover:Contains("+txt+" "+ButtonValue+")").show(); 

      //Vendor Document List 
      $("#WebPartWPQ7").find("tr.ms-itmhover:not(:Contains("+txt+" "+ButtonValue+"))").hide(); 
      $("#WebPartWPQ7").find("tr.ms-itmhover:Contains("+txt+" "+ButtonValue+")").show(); 

      // Vendor Details 
      $("#WebPartWPQ2").find("tr.ms-itmhover:not(:Contains("+txt+" "+ButtonValue+"))").hide(); 
      $("#WebPartWPQ2").find("tr.ms-itmhover:Contains("+txt+" "+ButtonValue+")").show(); 

      // Product Lines 
      $("#WebPartWPQ8").find("tr.ms-itmhover:not(:Contains("+txt+" "+ButtonValue+"))").hide(); 
      $("#WebPartWPQ8").find("tr.ms-itmhover:Contains("+txt+ "+ButtonValue+"")").show(); 

      } else { 

       $("#WebPartWPQ6").find("tr.ms-itmhover").show(); 
       $("#WebPartWPQ7").find("tr.ms-itmhover").show(); 
       $("#WebPartWPQ4").find("tr.ms-itmhover").show(); 
       $("#WebPartWPQ8").find("tr.ms-itmhover").show(); 
       $("#WebPartWPQ2").find("tr.ms-itmhover").show(); 
       $("#WebPartWPQ5").find("tr.ms-itmhover").show();   
      } 
      }).keyup(function(){$(this).change(); 
     }); 


$("#button1").click(function() { 
     $.ajax('/forward'); 
     $('button1').removeClass('active'); 
     $(this).addClass('active'); 
}); 
+0

は、文字列に完全一致を探しますが含まれています。それはあなたの達成しようとしていることですか? – DinoMyte

+0

@DinoMyte Nope。完全一致ではありません。これを行う正しい方法は「好き」でしょうか? –

答えて

0

あなたは右のtxt変数の前に、あなたの最初の行に「+」が欠落しています

$("#WebPartWPQ5").find("tr.ms-itmhover:not(:Contains("+txt+" "+ButtonValue+"))").hide(); 
$("#WebPartWPQ5").find("tr.ms-itmhover:Contains("+txt+" "+ButtonValue+"))").show(); 
0

テキスト発生のいずれかを探しているので、あなたは、2つの別々の:containsを定義する必要がありますセレクタ。

$("#WebPartWPQ5").find("tr.ms-itmhover td").hide(); 
$("#WebPartWPQ5 tr.ms-itmhover td:contains("+txt+"), #WebPartWPQ5 tr.ms-itmhover td:contains("+ButtonValue+")").show(); 

例:https://jsfiddle.net/uyk0kopq/2/

+0

ありがとうございます。それは私のアプリケーションのためにどのようにしたいのですか?それはSharePointテーブルにあり、指定された文字列を持つこのクエリに基づいて行全体を返すことになっています。何か案は? –

+0

'contains'は文字列検索に使用されます。 txt、ButtonValue html要素はtr内にありますか? – DinoMyte

+0

そうです。私が上に投稿したクエリは、 'ButtonValue'変数なしで動作します。私は 'ButtonValue'の追加条件をクエリに追加するのに問題があります。 –

関連する問題