我正在使用JQuery 1.11.1。我有两个选择菜单元素,一个包含
等选项<select id="select1">
<option value="A">option A</option>
<option value="B">option B</option>
...
<option value="">=============</option>
<option value="AA">option AA</option>
<option value="BB">option BB</option>
...
</select>
如何使用以下选项复制选项(包括选项) &#34; =============&#34;文本到第二个选择菜单(让我们说第二个选择菜单有id =&#39; select2&#39;)。
谢谢, - 戴夫
答案 0 :(得分:1)
var option, count = -1;
while ((option = $('#select1 option')[++count]).value != "")
{
$(option).clone().appendTo('#select2');
}
$($('#select1 option')[count]).clone().appendTo('#select2'); //for the '=====' one
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="select1">
<option value="A">option A</option>
<option value="B">option B</option>
<option value="">=============</option>
<option value="AA">option AA</option>
<option value="BB">option BB</option>
</select>
<select id="select2">
</select>
答案 1 :(得分:0)
第一个解决方案:
你可以这样做:
var emptyOption = $("#select1 option").filter(function() {
return $.trim( $(this).val() ) == '';
});
var $options = emptyOption.prevAll().addBack().clone();
$('#select2').append($options);
JSFiddle:http://jsfiddle.net/inanda/uosvokdr/2/
第二个解决方案:
如果您可以为要复制的选项添加类,则可以通过以下方式执行此操作。
HTML
<select id="select1">
<option value="A" class="copy">option A</option>
<option value="B" class="copy">option B</option>
<option value="" class="copy">=============</option>
<option value="AA">option AA</option>
<option value="BB">option BB</option>
</select>
<select id="select2">
</select>
使用Javascript:
var $options = $("#select1 > option.copy").clone();
$('#select2').append($options);
工作JsFiddle:http://jsfiddle.net/inanda/m2qd177u/1/