如何将<option>从一个<select>复制到另一个?

pix*_*tor 46 jquery

我正在使用http://www.stevefenton.co.uk/cmsfiles/assets/File/twosidedmultiselect.html中的双面多选,并需要使用JQuery将右手多选中的选定选项添加到另一个选择列表中.有没有人必须这样做,并知道这样做的快速方法?

var selectedOptions = $("#myselect")[0].options; 将获得选项,但如何将这些选择写入其他选择?

gdo*_*ica 87

var $options = $("#myselect > option").clone();

$('#secondSelectId').append($options);
Run Code Online (Sandbox Code Playgroud)

现场演示


the*_*dox 14

<select multiple="true" class="multiselect1" name="myselecttsms1">
    <option value="1" rel="0" title="One">One</option>
    <option value="2" rel="1" title="Two">Two</option>            
    <option value="4" rel="3" title="Four">Four</option>
    <option value="5" rel="4" title="Five">Five</option>
    <option value="6" rel="5" title="Six">Six</option>
</select>

<select multiple="true" class="multiselect2" name="myselecttsms2" size="6">

</select>

<button class="add">Add</button>
<button class="addAll">Add All</button>
<button class="remove">Remove</button>
<button class="removeAll">Remove All</button>
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$('.add').on('click', function() {
    var options = $('select.multiselect1 option:selected').sort().clone();
    $('select.multiselect2').append(options);
});
$('.addAll').on('click', function() {
    var options = $('select.multiselect1 option').sort().clone();
    $('select.multiselect2').append(options);
});
$('.remove').on('click', function() {
    $('select.multiselect2 option:selected').remove();
});
$('.removeAll').on('click', function() {
    $('select.multiselect2').empty();
});
Run Code Online (Sandbox Code Playgroud)

示例锻炼


dal*_*lin 8

有一种更简单的方法可以做到这一点:

var options = $("#myOldSelect").html();
$('#myNewSelect').html(options);
Run Code Online (Sandbox Code Playgroud)

如果您想要使用已包含的复制选项将新的Select添加到DOM,这非常方便:

var options = $("#myOldSelect").html();
$("#domLocation").append("<select id='myNewSelect'>" + options + "</select");
Run Code Online (Sandbox Code Playgroud)


Sum*_*til 5

$('#cloneBtn').click(function() {
    var $options = $("#myselect > option").clone();
    $('#second').empty();
    $('#second').append($options);
    $('#second').val($('#myselect').val());
});
Run Code Online (Sandbox Code Playgroud)

这用于复制值和innerHTML。最好复制键、值和 OPTIONS.ie 选择的值和选项。