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>
:私は動作するようです。このハックをしました。ちょっとハッキリしているようです。これを処理するより良い方法はありますか?誰もがこの問題に遭遇し、なぜこれがどのように動作するのかについていくつかの洞察を与えることができますか?
ありがとうございました。
もう一度jquery live ////に関係するものですか? – kobe
これがjQuery固有の問題であるかどうかはわかりません。 –