Jquery 如何复制<;选项>;从一个选择列表到另一个选择列表?
我正在尝试将Jquery 如何复制<;选项>;从一个选择列表到另一个选择列表?,jquery,jquery-selectors,options,Jquery,Jquery Selectors,Options,我正在尝试将HTML代码从一个选择列表复制到另一个选择列表。我已经测试了下面的脚本,但它不起作用 我已经用“警报”功能进行了测试,但它似乎只显示前面选项中的值 有人能推荐我应该用什么吗?谢谢大家! $("select[name='NHIndexNo" + tablecounter + "_" + rowCount + "'] option").each(function(){ $("select[name='NHIndexNo" + tablecounter + "_" + (rowCou
HTML代码从一个选择列表复制到另一个选择列表。我已经测试了下面的脚本,但它不起作用
我已经用“警报”功能进行了测试,但它似乎只显示前面选项中的值
有人能推荐我应该用什么吗?谢谢大家!
$("select[name='NHIndexNo" + tablecounter + "_" + rowCount + "'] option").each(function(){
$("select[name='NHIndexNo" + tablecounter + "_" + (rowCount+1) + "'] option").appendto($(this).val());
});
你几乎说对了jQuery:
$().ready(function() {
$('#add').click(function() {
return !$('#select1 option:selected').remove().appendTo('#select2');
});
$('#remove').click(function() {
return !$('#select2 option:selected').remove().appendTo('#select1');
});
});
<div>
<select multiple id="select1">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
</select>
<a href="#" id="add">add >></a>
</div>
<div>
<select multiple id="select2"></select>
<a href="#" id="remove"><< remove</a>
</div>
HTML:
$().ready(function() {
$('#add').click(function() {
return !$('#select1 option:selected').remove().appendTo('#select2');
});
$('#remove').click(function() {
return !$('#select2 option:selected').remove().appendTo('#select1');
});
});
<div>
<select multiple id="select1">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
</select>
<a href="#" id="add">add >></a>
</div>
<div>
<select multiple id="select2"></select>
<a href="#" id="remove"><< remove</a>
</div>
选择1
选择2
选择3
选择4
演示:在将元素附加到另一个select元素之前克隆这些元素:
$("select[name='NHIndexNo" + tablecounter + "_" + rowCount + "'] option")
.clone() // <-- creates a copy of each selected element
.appendTo("select[name='NHIndexNo" + tablecounter + "_" + (rowCount+1) + "']");
$(“选择[name='NHIndexNo'+tablecounter+“”+rowCount+“']选项”)
.clone()/没有看到您的HTML,因此我只能猜测您的选择器是否正常工作,我建议:
$("select[name='NHIndexNo" + tablecounter + "_" + (rowCount+1) + "'] option").clone(true).appendTo($(this).val());
其思想是克隆元素(与选择器匹配),然后将克隆附加到另一个select
元素
另外,请注意,我已将true
(带有数据和事件的参数)传递到clone()
方法中;这是通过jQuery跨分配给这些元素的数据和事件进行复制。如果您不关心克隆的对象,请忽略此参数
参考资料:
只要试一下-
HTML
1.
2.
3.
4.
您也可以显示HTML吗?附录($(this.val())
?这是的appendTo
和$(this).val()
不是一个元素。只是想知道,为什么里面有.remove()
?在我的测试中,它显示为。appendTo()
无论如何都会这样做。@JeffreyKemp.remove()
用于从第一个选择框中删除所选项目。.appendTo()
将该项附加到第二个选择框。您是否在没有.remove()
的情况下尝试过它?它仍然会删除它。你是对的。出现这种情况的主要原因是appendTo()
将选择器插入到目标容器中。如果我们要使用.append()
,那么我们需要使用.remove()
。
<select id="sone">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<select id="stwo">
</select>