ラジオ選択に基づくDiv表示

現在、ページに他のdivが存在しない限り、うまく動作するコードがあります。他のdivを追加すると、ラジオを選択して終了します。私は、他のすべてのdivを閉じることなく、開いて閉じるコードを単純に変更するだけです。実際の例をここで見ることができます。

http://jsfiddle.net/L5qfn/38/

私は体の内容全体に「ラッパー」を加えて、すべてがどのように閉じられるかを実演しました。ラッパーを取り出して...私はそれが欲しいのと同じように動作します。助言がありますか?

1

2 答え

The problem comes from your <div id="wrapper">, and this line :

 $('div[class!="formset"]').slideUp("fast"); //Slide Up Effect 

I rather suggest to change it to :

    $('div .sub-formset').slideUp("fast"); //Slide Up Effect

See the result : http://jsfiddle.net/L5qfn/40/

2
追加された

この問題は、次の行によって発生します。

$('div[class!="formset"]').slideUp("fast");

これは基本的に " formset "クラスのない div を非表示にします。ラッパー div にはそのクラスがないため、非表示になります。私はその行が何をしているのか分かりません(少なくともフィドルでは役に立たないと思われます)ので、問題を広げることができない限り、単に削除することをお勧めします。

更新されたフィドルがあります。

Update based on comments

@fflorentが言及したように、 .sub-formset を隠そうとしていたようですので、そのセレクタを次のように変更したいと考えています:

$(".sub-formset").slideUp("fast");

私はあなたのフィドルでやったように、属性セレクタを使用するのではなく、クラスセレクタ(文字)を使用しました。

1
追加された
@fflorent - ああ、はい、あなたは正しいと思います。あなたの答えに+1。
追加された 著者 James Allardice,
@ JamesWilliams - うん、上のコメントと更新を参照してください。
追加された 著者 James Allardice,
これは動作しますが、ラジオの選択を変更したときに他のdivを隠すことはありません。
追加された 著者 James Williams,
はい、私は同意する、私はちょうどこの同じ答え、いい仕事のジェームスを投稿するつもりだった!私からのアップ+ 1 :)
追加された 著者 Robert Van Sant,
はいいいえ、最後に多分を選択すると、あなたはサブフォームを非表示にしたいと思っています。サブフォーム3回
追加された 著者 fflorent,
コードは選択に関連するdivを隠すことを意図していましたが、すべてのdivを隠すことになりました。 fflorentによって残されたコードは問題を修正しました!
追加された 著者 user791187,
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript