3

何年にもわたってさまざまな投稿を読んでこのサイトから多くの助けを集めてきましたが、これに少し立ち往生していて、答えを見つけることができないようです:

選択した「テーブル」のタイプに応じたドロップダウンリストを表示/置換しています(ラジオボタンを使用)

すべてがうまく機能します...以前に表示されたリストを表示しようとするまで...つまり、ラジオボタンを2回クリックすると、リストを再表示できません。また、すべてのDIV HTMLを配列にロードして呼び出してみたので、それは追加と関係がある必要がありますか?

これは私が使用しているHTMLです。(HTMLの「max @ times」は、リストを動的に生成されたコンテンツに置き換える場所です。さまざまなドロップダウンリストをすべて一度に作成し、サーバーから継続的にフェッチしません)

<div id="selectarea"></div>
<div id="tables">
 <div id="tables2"><p><select id="select2" class="tables" name="tables2"><option value="">Please Select</option>" & max2times & "</select></p></div>"
 <div id="tables4"><p><select id="select4" class="tables" name="tables4"><option value="">Please Select</option>" & max4times & "</select></p></div>"
 <div id="tables6"><p><select id="select6" class="tables" name="tables6"><option value="">Please Select</option>" & max6times & "</select></p></div>"
 <div id="tables8"><p><select id="select8" class="tables" name="tables8"><option value="">Please Select</option>" & max8times & "</select></p></div>"
 <div id="continue"><p style="text-align:center;"><input type="button" id="now" value="Continue" name="now"></p></div>
</div>

私のJQueryはこのように見え、正常に機能します(アラートを使用して、アラートが発生し、正しい値が渡されていることを確認していました!)

$("input:radio[name=tabletype]").live("click",function() {
                var value = $(this).val();
                alert("Button Click " + value);
                $("#selectarea").html("");
                var tblSel = $("#tables"+value);
                $("#selectarea").append(tblSel);
                });

どんな助け/アイデアもありがたく受け取られるでしょう!!!

ありがとう、

GS

4

2 に答える 2

2

clone を使用して、選択領域内のテーブル全体を取得できます。領域を空にしてコンテンツを追加する代わりに、「html()」を使用できます。

$("input:radio[name=tabletype]").live("click",function() {
    var value = $(this).val();
    var tblSel = $("#tables"+value);
    $("#selectarea").html(tblSel.clone().removeAttr("id"));
});

コンテンツだけを領域内にコピーしたい場合は、以下のように "html()" 自体を使用します。div が一意の ID を持つことを確認します。つまり、コピーしたコンテンツから ID を削除する必要はありません。

$("input:radio[name=tabletype]").live("click",function() {
    var value = $(this).val();
    var tblSel = $("#tables"+value);
    $("#selectarea").html(tblSel.html());
});
于 2012-10-24T13:39:22.280 に答える
1

のクローンを追加する必要がありますdiv。それ以外の場合、同じ要素参照が追加されるため、新しい div が作成されます。

$("input:radio[name=tabletype]").live("click",function() {
                  var value = $(this).val();
                     alert("Button Click " + value);
                      $("#selectarea").html("");
                     var tblSel = $("#tables"+value);
                     $("#selectarea").append(tblSel.clone(true).removeAttr("id"));
                });
于 2012-10-24T12:59:36.657 に答える