0

通常は正常に機能するこの条件付き選択がありますが、いくつか微調整したいと思います。ここで私のフィドルを参照してください。

ブランド、たとえば Apple を選択すると、2 つのモデルを選択できます。モデルを選択すると、正常に動作します。

ただし、(a) [モデルの選択] をもう一度クリックすると (最初のボックスで [Apple] が選択されたまま)、以前のようにすべての Apple アイテムが表示されます。

(b) 別の Apple モデルを選択しても、何も起こりません。

解決策はif ($currentSelection != "showall") {}- ステートメントにあると思いますが、機能させることができません。

誰かが私を正しい方向に向けることができますか?

ありがとう。

4

1 に答える 1

1

jsfiddleを更新しました。

あなたはいくつかの条件を欠いていました:

if ($currentSelection != "showall") {
  $options.each(function(){
    if($(this).is("#"+$currentSelection)) //Show match
      $(this).parent().parent().fadeIn();
  });
  $options.not("#" + $currentSelection).parent().parent().fadeOut(); //Hide don't match
} else if($currentSelection == "showall"){ //If 'Select model'
  $options.parent().parent().fadeIn();
} else {
  $options.children().filter("." + $selectprod.val()).fadeIn();
}

モデルを選択した場合、非表示のオプションが表示されるように、すべてのオプションを最初に表示する必要があります。

于 2013-01-11T08:47:55.510 に答える