我正在尝试将<options>
HTML代码从一个选择列表复制到另一个选择列表。我已经测试了下面的脚本,但它不起作用。
我已经使用'alert'功能进行了测试,但似乎只显示了之前选项中的值。
任何人都可以推荐我应该使用的东西吗?谢谢!
$("select[name='NHIndexNo" + tablecounter + "_" + rowCount + "'] option").each(function(){
$("select[name='NHIndexNo" + tablecounter + "_" + (rowCount+1) + "'] option").appendto($(this).val());
});
答案 0 :(得分:3)
<强> jQuery的:强>
$().ready(function() {
$('#add').click(function() {
return !$('#select1 option:selected').remove().appendTo('#select2');
});
$('#remove').click(function() {
return !$('#select2 option:selected').remove().appendTo('#select1');
});
});
<强> HTML:强>
<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 :(得分:3)
只需尝试 - http://jsfiddle.net/zDFdX/
$("#stwo").html( $("#sone").html() );
HTML
<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>
答案 2 :(得分:0)
$("select[name='NHIndexNo" + tablecounter + "_" + rowCount + "'] option").each(function(){
$("select[name='NHIndexNo" + tablecounter + "_" + (rowCount+1) + "']").append($(this).clone());
});
你几乎没错了
答案 3 :(得分:0)
在将元素附加到其他选择元素之前克隆元素:
$("select[name='NHIndexNo" + tablecounter + "_" + rowCount + "'] option")
.clone() // <-- creates a copy of each selected element
.appendTo("select[name='NHIndexNo" + tablecounter + "_" + (rowCount+1) + "']");
由于您没有提供任何上下文信息或标记,我认为选择器是正确的。
答案 4 :(得分:0)
没有看到您的HTML,因此我只能猜测您的选择器正常工作,我建议:
$("select[name='NHIndexNo" + tablecounter + "_" + (rowCount+1) + "'] option").clone(true).appendTo($(this).val());
您的想法是克隆元素(匹配选择器),然后将 clone 附加到另一个select
元素。
另请注意,我已将true
(withDataAndEvents
参数)传递到clone()
方法;这是使用jQuery复制分配给这些元素的数据和事件。如果你不关心被克隆的那些,请省略这个参数。
参考文献: