2012-04-24 11 views
1

2つの選択ドロップダウンでの選択に基づいてDIVを表示/非表示にするコードがあります。これは素晴らしい作品です。今、私は何も選択肢に一致しないときに "結果なし"メッセージを表示しようとしています。jQuery隠しDIVをチェックしてメッセージを表示する

My Fiddle

それはほとんど働いています。問題は、「結果が表示されません」というメッセージが必要なときに表示されますが、必要なときには表示されないことです。どんな支援も大歓迎です。

+2

質問には常に関連コードを含める必要があります。この方法でリンク先のファイル/ページがなくなると、あなたの質問は引き続き残り、将来他の人に役立つ可能性があります。 –

+0

@ Psykopup、あなたは合理的な反応をたくさん得て、何もupvotedまたは答えを選択していません。両方を行うことを検討する必要があります。 – Kristian

+0

善良@クリスチャン。私はこれを投稿し、7分以内に答えを得た。それから、私が受け取った1回目の返答をマークするのに7分待たなければなりませんでした。 – Psykopup

答えて

1

なし結果のチェック後にelseステートメントを追加します。ここでは

 if ($('.item:visible').length === 0) { 
      $(".NoResults").html("<p>No events for your selection.</p>"); 
     } 
     else $(".NoResults").html(""); 

は、あなたの更新jsFiddleです:http://jsfiddle.net/hDWAh/8/

+0

うわー!それはすばやく簡単でした。どうもありがとうございました。 – Psykopup

+0

あなたは大歓迎です! – gabitzish

2

NoResultsクラスの内容を空にする条件がないようです。

if ($('.item:visible').length === 0) { 
    $(".NoResults").html("<p>No events for your selection.</p>"); 
} else { // NEW ELSE CLAUSE 
    $(".NoResults").empty(); 
} 

編集:私はあることをフィドルを編集し、これは動作しますが、私はむしろ、直接内容を設定するよりもショーを()/非表示()を使用して、以下のRepWhoringPeeHaaのソリューションを使用することをお勧めします。

このソリューションの主な議論は、htmlテンプレートの中に、そしてコードの中に、より多くのコンテンツ(「選択したイベントはありません」)を保持することです。コンテンツ/コードを分離する方が良いほど、将来的にコンテンツを簡単に更新できるようになります。コードBecouse

1
if ($('.item:visible').length === 0) 
    $(".NoResults").html("<p>No events for your selection.</p>"); 
else // <============== 
    $(".NoResults").empty(); // <============== 

Updated Fiddle

0

上から下へrunnedされ、ちょうどこのようにそれを示し、常にnoresultを隠し、それがあったしなければならないときで始まる:

http://jsfiddle.net/hDWAh/4/

0
if ($('.item:visible').length === 0) { 
    $(".NoResults").html("<p>No events for your selection.</p>"); 
} 
else{ 
$(".NoResults").html(""); 
} 
2

set the contents to nothing

 if ($('.item:visible').length === 0) { 
      $(".NoResults").html("<p>No events for your selection.</p>"); 
     } else { 
      $(".NoResults").html(''); 
     } 

または単にNoResults要素にテキストを追加し、デフォルトでCSSを使用して非表示にします(display: none)。 And then toggle to display/hide

 if ($('.item:visible').length === 0) { 
      $(".NoResults").show(); 
     } else { 
      $(".NoResults").hide(); 
     } 
関連する問題