将选项对象的数组附加到多个选择

suy*_*til 1 html javascript jquery

我试图将选项对象的数组附加到两个选择标记.但它仅附加到第二个选择标记.

<script src="http://code.jquery.com/jquery-1.11.2.min.js"></script>
<select id="select1"></select>
<select id="select2"></select>
<script>
    var options = [];
    var option1 = new Option("1", "1");
    options.push(option1);
    var option2 = new Option("2", "2");
    options.push(option2);
    var option3 = new Option("3", "3");
    options.push(option3);
    $("#select1").append($(options));
    $("#select2").append($(options));
</script>
Run Code Online (Sandbox Code Playgroud)

如果我只使用一个选项来附加选项,它就有效.但是对于两个以上它不会.它只附加到最后一个.请帮忙解决这个问题......

Ror*_*san 5

你的代码正在运行.会发生的是它首先附加options#select1它然而因为它是一个引用变量,然后相同的选项被移动到#select2.

要解决此问题,您需要克隆选项以复制它们以添加到第二个选择:

$("#select1").append($(options));
$("#select2").append($(options).clone());
Run Code Online (Sandbox Code Playgroud)

示例小提琴