3

jQueryを使用してDOMにラジオボタンのグループを動的に追加しました。私はよく機能するイベントハンドラを登録しています。ただし、IE6とIE7でクリックすると、ラジオボタングループは更新されず、どのボタンがチェックされています。IE6、IE7でクリックしたときに動的に追加されたラジオボタンが更新されない

私の元のコードは、これに似ている:

再び
<body> 
<form action="radio-ie7_submit" method="get" accept-charset="utf-8"></form> 
<script type="text/javascript" charset="utf-8"> 
    $(function() { 
     $.each(['A','B', 'C'], function (i, e) { 
      $('<input>') 
       .attr('type', 'radio') 
       .attr('name', 'foo') 
       .attr('checked', i == 1 ? 'checked' : '') 
       .val(e) 
       .appendTo($('form')) 
       .after(e + '<br />') 
       .click(function(){ 
        alert('Kliiik') 
       }) 
     }) 
    }) 
</script> 
</body> 

私はラジオボタンをクリックすると、イベントハンドラが正しく呼び出されますが、ラジオボタンは更新されません。何を私の修正がやっていることは確認されて、その後1がクリックされたマークし、ラジオボタングループ内のすべてのボタンをオフにすることで、基本的に

<body> 
<form action="radio-ie7_submit" method="get" accept-charset="utf-8"></form> 
<script type="text/javascript" charset="utf-8"> 
    $(function() { 
     $.each(['A','B', 'C'], function (i, e) { 
      $('<input>') 
       .attr('type', 'radio') 
       .attr('name', 'foo') 
       .attr('checked', i == 1 ? 'checked' : '') 
       .val(e) 
       .appendTo($('form')) 
       .after(e + '<br />') 
       .click(function(){ 
        $('input[name="' + this.name + '"]').each(function() { this.checked = false }); 
        this.checked = true; 
        alert('Kliiik') 
       }) 
     }) 
    }) 
</script> 
</body> 

:私は動作するようです。このハックをしました。ちょっとハッキリしているようです。これを処理するより良い方法はありますか?誰もがこの問題に遭遇し、なぜこれがどのように動作するのかについていくつかの洞察を与えることができますか?

ありがとうございました。

+0

もう一度jquery live ////に関係するものですか? – kobe

+0

これがjQuery固有の問題であるかどうかはわかりません。 –

答えて

3

これはフォーム要素の古いIEの問題です。ここで責任を負うのはJqueryではありません。あなたはIE 6のユーザーの回避策をしたい場合は、このようにあなたのクリック機能を作ることができます

  .click(function(){ 
       $('input[name="' + this.name + '"]').attr('checked',''); 
       this.checked = true; 
       alert('Kliiik')     
      }) 
+0

this.checked = trueの代わりに.attr( 'checked'、 '')と.attr( 'checked'、true)の代わりに.removeAttr( 'checked')を使用することにしました。 –

+0

これはjQueryの問題ではないことを確認してくれてありがとう。 –

関連する問題