2017-04-11 10 views
-1

JQueryを使用して単純に検索バーを作成しましたが、正しい名前を入力しても何も表示されない入力を削除しても、隠しアイテム。検索バーがJQueryで機能していない

ご協力いただければ幸いです。

$("#search").keyup(function(){ 
    var uInput = $("#search").val(); 
    var id = $(".gali").attr("id"); 
    if (uInput != id){ 
     $(".gali").hide(); 
    } else { 
     $(".gali").show(); 
    } 
}); 

    <div id="container"> 
     <div id="search-bar"> 
      <input type="text" placeholder="Search..." id="search"> 
     </div> 

     <ul id="pList"> 
      <li class="gali"> 
       <img src="phot/plum01.jpg" class="pimg"> 
      </li> 
      <li class="gali"> 
       <img src="phot/plum02.jpg" class="pimg"> 
      </li> 
      <li class="gali" id="flowers"> 
       <img src="phot/plum03.jpg" class="pimg"> 
      </li> 
      <li class="gali"> 
       <img src="phot/plum04.jpg" class="pimg"> 
      </li> 
      <li class="gali" id="flowers"> 
       <img src="phot/plum05.jpg" class="pimg"> 
      </li> 
      <li class="gali" id="flowers"> 
       <img src="phot/plum06.jpg" class="pimg"> 
      </li> 
      </ul> 
+3

私たちにhtmlコードを提供してください。これは、あなたがそのようなプランカまたは何かを構築する場合、非常に便利です。 https://plnkr.co/edit/ –

+0

こんにちは教えて!残りのコードを参照する必要があります。デバッグの助けを求める質問(「なぜこのコードは動作しませんか?」)には、目的の動作、特定の問題またはエラー、および質問自体の中でそれを再現するのに必要な最短コードが含まれていなければなりません。参照:[mcve]を作成する方法 –

+0

この単純なことは、plnkr、jsFiddle、codepenなどはほとんど必要ありません。インラインWebスニペットツールを使用するだけです。 – Santi

答えて

0

あなたのページに複数のclass="gali"要素がある可能性があります。

$('.gali').hide()および$('.gali').show()は、そのような要素をすべて隠すか、または表示します。

$('.gali').each(function(){ 
    var $this = $(this); 
    if($this.attr('id') == uInput.val()) { 
     $this.show(); 
    } else { 
     $this.hide(); 
    } 
}); 

EDIT::または、サンティは、以下のとおり、よりよい解決策があります:すべてのclass="gali"の要素を隠し、次に示して、このあなたがループを実装し、個別にすべてのclass="gali"要素を確認することができますを避けるために

問題のIDを持つもの

$(".gali").hide(); 
$("#"+id).show(); 

このコードでは、IDが存在しない場合は表示されません。

+0

これが実際にOPがやろうとしていることです - クラス '.gali 'の要素を隠すために、IDに基づいて、ループはほとんど必要ありません。 – Santi

+4

'$("。gali ")。hide(); $( "#" + id).show(); ' – Barmar

+0

^私が覚えていた正確な解決策。 OPが '$("。gali ")。attr(" id ")'を使ってフェッチしようとしていることについて、私はまだ少し戸惑っています。 – Santi

関連する問題