2017-10-30 9 views
-2

私は多くのdivを持っていますが、すべてがクラスproduct_listingです。それらはすべてプロパティを持ち、accessoryhardwaremobile、またはsoftwareのいずれかです。私のjavascriptでは、自分のカテゴリのチェックボックスをオンにしたものだけを表示したい。 HTMLでの私のチェックボックスは次のようにコード化されています。私のJavaScriptでチェックボックスに基づいてdivを表示したり非表示にしたりする

<input type="checkbox" name="category_filter" value="all" 
checked="checked">&nbsp;All</input><br /> 

<input type="checkbox" name="category_filter" 
value="accessory">&nbsp;Accessory<br /> 

<input type="checkbox" name="category_filter" 
value="hardware">&nbsp;Hardware<br /> 

<input type="checkbox" name="category_filter" value="mobile">&nbsp;Mobile 
App<br /> 

<input type="checkbox" name="category_filter" 
value="software">&nbsp;Software<br /> 

私は配列accessory_productshardware_productsmobile_products、およびsoftware_productsを持っているので、私はちょうど確認ボックスに基づいてそれらを表示し、非表示にする必要があります。私はちょうどチェックボックスをチェックするifステートメントを作成する方法を知りません。誰も助けることができますか?私はもちろん、jqueryを使用しています。

+6

あなたはこれまでにしようとしているかを示すことができますか? – guradio

+1

これまでに何を試しましたか?あなたの問題は[この質問](https://stackoverflow.com/questions/19447591/show-hide-div-when-checkbox-selected)と似ていますが、IDで要素を取得するのではなく、カテゴリ属性? –

+3

1つのチェックボックスと一致する要素の1つのセットで簡単に開始します。 Stackoverflowは無料コード作成サービスでも、* "how to" *チュートリアルサービスでもありません。いくつかの基本的な研究を行い、あなた自身で問題を解決する試みを示すのはあなた次第です。次に、期待どおりに動作していない実際のコードがあるときは、ヘルプを求めます – charlietfl

答えて

0

今後、コードをしようとしたことを表示することをお勧めします。これは、スタックユーザーがあなたを助け、間違った場所を支援するためです。

ここでは方向性を指摘する必要があります。完全ではありませんが、ソリューションを完成させるのに役立ちます。

https://codepen.io/zell71/pen/gXpbKb

HTML:

<input type="checkbox" class="category_filter" value="all" checked="checked">&nbsp;All</input> 
<br /> 

<input type="checkbox" class="category_filter" value="accessory">&nbsp;Accessory 
<br /> 

<input type="checkbox" class="category_filter" value="hardware">&nbsp;Hardware 
<br /> 

<input type="checkbox" class="category_filter" value="mobile">&nbsp;Mobile App 
<br /> 

<input type="checkbox" class="category_filter" value="software">&nbsp;Software 
<br /> 

<div class="wrapper"> 
    <div class="products" data-category="accessory"> 
    <h3>Accessory</h3> 
    <ul> 
     <li>item 1</li> 
     <li>item 2</li> 
     <li>item 3</li> 
    </ul> 
    </div> 
    <div class="products" data-category="hardware"> 
    <h3>Hardware</h3> 
    <ul> 
     <li>item 4</li> 
     <li>item 5</li> 
     <li>item 6</li> 
    </ul> 
    </div> 
    <div class="products" data-category="mobile"> 
    <h3>Mobile App</h3> 
    <p> no results </p> 
    </div> 
    <div class="products" data-category="software"> 
    <h3>Software</h3> 
    <ul> 
     <li>item 7</li> 
     <li>item 8</li> 
     <li>item 9</li> 
    </ul> 
    </div> 
</div> 

JS:

$(".category_filter").change(function(e) { 
    var $this = $(this); 
    var inputValue = $this.val(); 
    // hide the products again 
    $(".products").hide(); 
    // check if the input box is checked so we don't display a collection that is being unchecked 
    if ($this.prop("checked")) {  
    console.log(inputValue); 
    if ((inputValue = "all")) { 
     $(".products").show(); 
    } else { 
     // show the product collection we need 
     $('.products[data-category="' + inputValue + '"]').show(); 
    } 
    } 
}); 

おかげ

関連する問題