我想在标记的点击事件中将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>
答案 0 :(得分:0)
好的,你的范围有问题。您可能希望使用$(this)
- 代表您点击的链接 - 而不是$('.js-control-edit')
另外,您在选择器上输入了一个拼写错误以重置多项选择(不需要#
,因为这是元素而不是 id 你正在寻找)
检查此代码(我只更改了jQuery部分)
$('.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;