0

2 つのテーブルがあり、両方のテーブル内の各行に<td>はチェックボックスがあります。現在、2 番目のテーブルで何かがチェックされると、その行が ( を使用して.clone()) コピーされます。最初のテーブルの行がチェックされていない場合、最初のテーブルから削除する必要があります。

これは、ページ生成時に最初のテーブルにあった行に対して完全に機能します。しかし、複製された行は jQuery を起動しません。これを修正するためにどのようなアプローチをとるべきか疑問に思っていました。

これがjsfiddleです: http://jsfiddle.net/3BZp4/21/

4

4 に答える 4

2

の最初の引数trueとして渡し、これらの要素に既に登録されているイベントもコピーされるようにします。.clone

http://jsfiddle.net/alnitak/Kr248/を参照してください。

于 2012-05-30T11:22:24.360 に答える
1

.clone(true)イベントハンドラーがコピーされるように、clone() API に true を渡します。

于 2012-05-30T11:24:52.297 に答える
0

これは、次のようなセレクターが既にページ内にある場合に$('#featured tbody tr td input.checkbox').on(...)のみ機能するために発生するためtr、この方法で変更してみてください

$('#featured').on('change', 'input.checkbox', function(e) {
...
})

$('#offers').on('change', 'input.checkbox', function (e) {
...
});
于 2012-05-30T11:22:46.637 に答える
0

onの代わりにliveを使用して問題を解決できます

于 2012-05-30T11:23:27.583 に答える