2017-12-21 16 views
0

私の考えは、チェックボックスをオンにすると、.picpicという名前の各divがフェードアウトします(フィルタリングされたものを除いて)、チェックを外すとチェックが外されます。このjQueryコードは最初のチェックボックスでのみ機能します。あなたのアイデアをありがとう。同じIDの複数のチェックボックスが1つのみで動作する

チェックボックス

<form> 
    <label> 
     <input type="checkbox" id="selectedv" value="a1"/> a1 </label> 

    <label> 
     <input type="checkbox" id="selectedv" value="a2" /> a2 </label> 

    <label> 
     <input type="checkbox" id="selectedv" value="a3" /> a3 </label> 

    </form> 

jQueryの

チェックボックスは、彼らが戻ってフェードイン時に未チェックのすべての.picpic div要素は、フィルタリングのものを除いてフェードアウトしてチェックされている場合。

if(document.getElementById('selectedv').checked) { 
$('.picpic').not($filteredResults).fadeOut(1000) 
} else { 
    $('.picpic').fadeIn(1000)(); 
} 
}); 
+3

の可能性のある重複した[ないID、ページ全体で一意である必要がありますか?](https://でのstackoverflowを。 com/questions/9454645/do-id-have-the-whole-page-only--the-the-whole-page) – Taplar

+1

いつでもクラスで行うことができます! – NoReceipt4Panda

答えて

0

私は欲しかった解決策を得ました。

  • IDの代わりに使用されるクラスは、IDが一意であると考えられるためです。チェックボックスがチェックされている場合

  • それを濾過もの

  • 除くすべてのdivをフェードアウトます。すべてのチェックボックスをオンにすると、すべてのdivが表示されます。

チェックボックス

<form> 
     <label> 
      <input type="checkbox" class="selected v" value="a1"/> a1 </label> 

     <label> 
      <input type="checkbox" class="selected a" value="a2" /> a2 </label> 

     <label> 
      <input type="checkbox" class="selected z" value="a3" /> a3 </label> <br> 

</form> 

jqueryの

if($('input.selected').is(':checked')) { 
     $('.picpic').not($filteredResults).fadeOut(1000) 
     $($filteredResults).fadeIn(1000)() 
     } else { 
      $('.picpic').fadeIn(1000)(); 
    } 

https://jsfiddle.net/01o2pawk/1/

3

document.getElementByIdだけではありません:そのIDを持つ要素を1つ取得します。 HTML仕様では、任意のIDに対して複数の要素を持つことはできません。

この場合、classまたはnameに切り替えることができます。

+0

はい、あなたはすべてVolcovMeter、Taplar、Dan Soperです。私は自分自身でこれに来なかったことを馬鹿に感じる。しかし、今私は別の問題に遭遇しました。私は2つのチェックボックスを選択すると、チェックボックス(例:私はチェックボックス1と2をチェックし、値a1とa2を持つdivを与えます)で指定された値を持つdivを両方表示する必要があります。しかし、私がチェックボックスのチェックを外すと、それらが消えてしまったdivは表示されません。 – in2d

+1

あなたのコードの詳細、特に$ filteredResultsがどのように作成されているかを確認する必要があります。そこにあなたのロジックを見てみましょう。 –

+0

https://jsfiddle.net/p1064q78/2/ – in2d

1

1つのテキスト領域を使用して複数の要素をスタイルする場合は、IDではなくクラスを使用してみてください。

関連する問題