2017-02-22 21 views
-1

JQueryを使用して、選択したdivの値に応じてチェックボックスの表示を変更したいと考えています。具体的には、facetwp-facet-cityドロップダウンで 'Berlin'が選択されている場合、「Neukölln」と「Mitte」チェックボックスを非表示にしたいと考えています。私はこれがJQueryを使って可能であることを知っていますが、残念ながら私のスキルはそれほど高レベルではありません(まだ)。どんな助けでも大歓迎です!スクリーンショットでは、「ベルリン」の値とMitteのチェックボックスを強調表示しました。ここでは、いくつかのインスピレーション市のコードを撮影JQuery hideドロップダウンの値に応じてチェックボックス

$(document).ready(function() { 
    $('.facetwp-dropdown').on('change', function(e) { 
    if ($(this).val() == 'berlin') 
     $('.facetwp-checkbox').each(function(i, v) { 
     if ($(this).data("value") == 'mitte') { 
      $(this).hide(); 
     } 
     if ($(this).data("value") == 'neukolln') { 
      $(this).hide(); 
     } 
     }) 
    }) 
}); 
+0

解決策はありますか?あなたのコードを見せてください。誰かがおそらくあなたのためにそれをデバッグするのに役立つでしょう。 –

+0

私はこのコードを試しましたが(Shiの礼儀です)、動作しません。どのようなアイデアはなぜですか? '$ {this}} .val()==' berlin '){ $(document).ready(function(){ $('。facetwp-dropdown ' { $(this)} hide(){ $ {'facetwp-checkbox'}){ $(this、 );} IF($(この).DATA( "値")== 'ノイケルン'){ $(この).hide();} }) }) })。 – Ron

+0

スクリーンショットの代わりに実際のコードを投稿するか、フィドルを作成します。私たちが手助けするほうが簡単になります。 – mhshimul

答えて

0

すると、このような何かを試してみてください:

スクリーンショットのURLです。前進を助けるために、何かがうまくいかない場合は、コンソールにエラーをドロップしてからデバッグしようとしているかどうかを確認するか、またはconsole.log(/* some variable */);ステートメントを追加して、セレクタのいくつかによって返されているもの物事がどこで失敗しているのかを把握することができます(または少なくとも特定の質問であなたに質問することができます)。

// formatting for readability. 
$(document).ready(function() { 
    // Should trigger callback function on change in dropdown. 
    $('.facetwp-dropdown').on('change', function(e) { 

    // Should set the value of the selected dropdown option. 
    let selectedOption = $(this).find(':selected').prop('value'); 

    // Conditional if option equals berlin. 
    if (selectedOption == 'berlin') { 
     // Grab all checkboxes using their parent div. 
     let checkboxes = $('.facet-wrapper').children(); 

     // Use jQuery.each method to iterate over the child elements. 
     $.each(checkboxes, function(index, value) { 
     // Set value of the data attribute. 
     let attribute = $(value).attr('data-value'); 

     // Check data attribute value against either option. 
     if (attribute == 'neukolln' || attribute == 'mitte') { 
      // Hide div if conditional evaluates true. 
      $(value).hide(); 
     } 
     }); 
    }  
    }); 
}); 
+0

ありがとう、私はこのショットを与えるよ! – Ron

+0

残念ながらうまくいかないようです! – Ron

+0

jQueryをHTMLに組み込みましたか?あなたはフィドルを作ることができますか?問題を見つけるのが簡単になります。 – mhshimul

0

可能なソリューションです:https://www.wgeil.de/listings/?fwp_city=berlin Screenshot

+0

ありがとう、私はこれを試してみよう! – Ron

+0

https://jsfiddle.net/Lkt613yf/ – Ron

+0

最初の問題は 'selectedOption'をセレクタに等しく設定してから、あなたの条件で' selectOption'に対して試してみることです:)(私のコード例では、タイプミスのために)。その隠蔽をjqueryで修正すると、 '$( '/ * your selector * /')と同じくらい簡単です。 –

関連する問題