jquery でinput[type=radio]に問題があります。
divの内容をコピーする必要がありますが、ラジオオブジェクトのデフォルトのチェックを維持します
$('#copy').click(function() {
var copy = '<div id="source">';
copy += $('#source').html();
copy += '</div>';
$(this).after(copy);
});
私を助けてください!
jquery でinput[type=radio]に問題があります。
divの内容をコピーする必要がありますが、ラジオオブジェクトのデフォルトのチェックを維持します
$('#copy').click(function() {
var copy = '<div id="source">';
copy += $('#source').html();
copy += '</div>';
$(this).after(copy);
});
私を助けてください!
ID、名前、属性がある場合は複製せずに複製する必要があります。ここで作業フィドルを確認してください。
globalVarCount がこれらを区別する変数であることを確認してください。コードは次のとおりです::
var globalVarCount= 0;
$('#copy').click(function() {
var copy;
$clone = $("#source").clone();
$clone.attr("id",$clone.attr("id")+1)
$clone.children().each(function(){
$(this).attr("id",$(this).attr("id")+1);
$(this).attr("name",$(this).attr("name")+1);
$(this).attr("for",$(this).attr("for")+1);
});
$(this).after($clone);
});
コピーしたラジオ ボタン セットとラベルには、異なる名前属性と ID を使用する必要があります。
JSFiddle の例を次に示します。
var copyCount = 1;
$("#copy").click(function() {
$("#source").clone().attr("id", "source" + copyCount).appendTo("body");
// Get original radio elements
$radio1 = $("#source" + copyCount + " #radio1");
$radio2 = $("#source" + copyCount + " #radio2");
$radio3 = $("#source" + copyCount + " #radio3");
$radio4 = $("#source" + copyCount + " #radio4");
// Change attributes (name and id)
$radio1.attr("id", "radio" + (copyCount * 4 + 1)).attr("name", "check" + (copyCount * 2 + 1)).next().attr("for", "radio" + (copyCount * 4 + 1));
$radio2.attr("id", "radio" + (copyCount * 4 + 2)).attr("name", "check" + (copyCount * 2 + 1)).next().attr("for", "radio" + (copyCount * 4 + 2));
$radio3.attr("id", "radio" + (copyCount * 4 + 3)).attr("name", "check" + (copyCount * 2 + 2)).next().attr("for", "radio" + (copyCount * 4 + 3));
$radio4.attr("id", "radio" + (copyCount * 4 + 4)).attr("name", "check" + (copyCount * 2 + 2)).next().attr("for", "radio" + (copyCount * 4 + 4));
// Restore selected option in original radio set
if ($radio1.attr("checked") !== undefined) $("#source #radio1").click();
if ($radio2.attr("checked") !== undefined) $("#source #radio2").click();
if ($radio3.attr("checked") !== undefined) $("#source #radio3").click();
if ($radio4.attr("checked") !== undefined) $("#source #radio4").click();
copyCount++;
});