2010-11-30 22 views
0

'toggleClass'に問題があります。このスクリプトは、ラジオボタンの値に応じて新しいフィールドセットを追加します。フィールドの中には、デフォルトでは隠されている新しいdivがあり、 'a'がクリックイベントによってトリガーされた場合にのみ表示されます。最初は動作しますが、別のラジオボタンをクリックするか同じラジオボタンで 'toggleClass'はもう働きません。toggleClassが動作しない

$(document).ready(function(){ 

     $('.duplicatorRadio').click(function() { 
      var this_index_limit = parseInt($(this).val()); 
      for(var i = 0; i < this_index_limit; i++) { 
      if(!$('#text_box_' + i).length) { 
       var headerValue = parseInt(i) + 1; 
       $(
        '<fieldset id="text_box_' + i + '"> <h3>Property ' + headerValue +' Information</h3> <a class="borrowerToggler" href="#">Show Co-Borrower</a> <div class="borrower hide"> <h5>Co-Borrower Information</h5></div></fieldset>' 
       ).appendTo($(this).parent()); 
      } 
      else if($('#text_box_' + i).css('display') == 'none') { 
       $('#text_box_' + i).show(); 
      } 
      } 

      $('fieldset').each(function() { 
      var split_id = $(this).attr('id').split('_'); 
      if(!split_id.length) return; 
      var index = parseInt(split_id[2]); 
      if(index >= this_index_limit) { 
       $(this).hide(); 
      } 
      }); 

      $("a.borrowerToggler").click(function(){ 
      $(this).next("div").toggleClass("hide"); 
      }); 

     }); 

    }); 
+0

HTMLコードも貼り付けてください。可能であれば、http://jsfiddle.net/ –

+0

のコード全体を投稿すると、toggleclassの引数としてhideを削除して試してみることができますか? – kobe

+0

$(これ)は次回にいくつかの問題を作成しています(これ)時間とデバッグの両方。 – kobe

答えて

0

イベントをクリックしバインドする.live()メソッドを使用して試してみてください。ここに

はコードです。 This demoはあなたを助けてくれるかもしれません。

+0

ありがとうございました:) –

+1

ライブは1.7で廃止され、1.9で削除されました。現在、 "on"メソッドを使用することをお勧めします。 – Gunner4Life