jquery copy选择另一个选项

时间:2016-05-10 12:16:46

标签: jquery

我想在标记的点击事件中将custom-select类选项列表复制到custom-multiple-view类。

我是否知道如何将相应的下拉选项列表复制到另一个下拉列表中。我做了以下代码但是这样做了所有整个HTML页面选项都被复制了,我不想要。

$('.js-control-edit').on('click', function() {
    $('#select.custom-multiple-view').empty().trigger('refresh');
    $('.js-control-edit').parent().find('select option').trigger('refresh').clone().appendTo('select.custom-multiple-view');			
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


<span class="control-editable"> 
    <select class="custom-select">
        <option value="1">a</option>
        <option value="2">b</option>
    </select>
    <a class="control-edit js-control-edit">...</a>
</span>	
<span class="control-editable"> 
    <select class="custom-select">
        <option value="5">m</option>
        <option value="6">n</option>
    </select>
    <a class="control-edit js-control-edit">...</a>
</span>			
<select class="custom-multiple-view" multiple="multiple"></select>

1 个答案:

答案 0 :(得分:0)

好的,你的范围有问题。您可能希望使用$(this) - 代表您点击的链接 - 而不是$('.js-control-edit')

另外,您在选择器上输入了一个拼写错误以重置多项选择(不需要#,因为这是元素而不是 id 你正在寻找)

检查此代码(我只更改了jQuery部分)

&#13;
&#13;
$('.js-control-edit').on('click', function() {
    $('select.custom-multiple-view').empty().trigger('refresh');
    $(this).parent().find('select option').trigger('refresh').clone().appendTo('select.custom-multiple-view');			
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


<span class="control-editable"> 
    <select class="custom-select">
        <option value="1">a</option>
        <option value="2">b</option>
    </select>
    <a class="control-edit js-control-edit">...</a>
</span>	
<span class="control-editable"> 
    <select class="custom-select">
        <option value="5">m</option>
        <option value="6">n</option>
    </select>
    <a class="control-edit js-control-edit">...</a>
</span>			
<select class="custom-multiple-view" multiple="multiple"></select>
&#13;
&#13;
&#13;