JQueryを使用して、HTMLの<select>入力のクローンを作成します。
どうすればいいのかわからないので、ここで聞いてみようと思いました。
特にドキュメントに書き戻すための最良の方法にも関心があります。
私の選択要素は次のようになります:
<select id="options">
<option value="1">Opt 1</option>
<option value="2">Opt 2</option>
<option value="3">Opt 3</option>
</select>
ありがとう。
参照: http://api.jquery.com/clone/
$('select#options').clone().attr('id', 'newOptions').appendTo('.blah');
appendTo(...)は、複製された要素を挿入する唯一の方法です。他のメソッドはここにあります: http://api.jquery.com/category/manipulation/
これはどう?
<select id="options">
<option value="1">Opt 1</option>
<option value="2">Opt 2</option>
<option value="3">Opt 3</option>
</select>
//目標
<select id="options2">
</select>
$('#options').find('option').clone().appendTo('#options2');
ありがとう。
受け入れられた回答の唯一の問題は、選択にoptgroupが含まれている場合、それらがコピーされないことです。その場合、私が見つけた最も簡単な方法は、これを実行することでした:
$('#options2').html($('#options').html());
選択変更でオプションをtrueに選択してattrオプションを指定できます。その後、クローンの使用は問題ありません。
$("#options").off("change").on("change", function() {
var val = $(this).val();
$(this).find("option[value=" + val + "]").attr("selected", true);
});
$("#options").off("change").on("change", function() {
var val = $(this).val();
$(this).find("option[value=" + val + "]").attr("selected", true);
});