1

IE8 と 9 でのみ動作する JavaScript ベースのアプリケーションを作成しようとしています。

これは問題の簡単な説明です:

<div id="A" style="display:none">
<div id="a1">content of a1</div>
<div id="a2">content of a2</div>
<div id="a3">content of a3</div>
...goes on
</div>

<div id="B">
<div id="b1"></div>
<div id="b2"></div>
<div id="b3"></div>
...goes on
</div>`

div「A」の下に各divのチェックボックスがあります。

どのチェックボックスがチェックされているかに応じて、div "A" の下の div の内容を div "B" の下の内容にコピーまたは削除する単純な JavaScript 関数が必要です。

たとえば、チェックボックス "a1" がチェックされている場合、div "a1" の内容が div "b1" にコピーされます。ボックスがチェックされていない場合、"b1" の内容が削除されます。

単純なことですが、わかりませんが、div「B」全体がメールにコピーアンドペーストされるため、div「B」に隠し要素を含めることはできません。テキストエリアが使えません。

4

2 に答える 2

1

変更されたマークアップと Javascript コード。ソース div と宛先 div を見つけるために、checkbox 要素で class 属性を使用していることに注意してください。

HTML

<div id="A" style="display:none">
<div id="a1">content of a1</div>
<div id="a2">content of a2</div>
<div id="a3">content of a3</div>
</div>

<div id="B">
<div id="b1"></div>
<div id="b2"></div>
<div id="b3"></div>
</div>

<input type="checkbox" class="1">
<input type="checkbox" class="2">
<input type="checkbox" class="3">

Javascript

$(document).ready(function(){
    $("input[type=checkbox]").click(function(){
       var source= $("#a" + $(this).attr('class'));
       var destination= $("#b" + $(this).attr('class'));
       if($(this).attr('checked')=='checked')
          $(destination).html($(source).html());
       else     
           $(destination).html("");
    });

});

http://jsfiddle.net/7qmQM/1/

于 2012-10-17T21:34:40.643 に答える
1

チェックボックス イベントで、次の関数を呼び出します。

function CopyInnerHtml(){
    var innerHTML = document.getElementById('A').innerHTML;
    document.getElementById('B').innerHTML = innerHTML;
}
于 2012-10-17T21:24:08.463 に答える