2012-06-19 17 views
2

我試圖將<options> HTML代碼從一個選擇列表複製到另一個。我已經測試了下面的腳本,但它不起作用。如何將<options>從一個選擇列表複製到另一個列表?

我已經使用'alert'函數進行了測試,但它似乎只顯示以前的選項中的值。

任何人都可以推薦我應該使用什麼?謝謝!

$("select[name='NHIndexNo" + tablecounter + "_" + rowCount + "'] option").each(function(){ 
    $("select[name='NHIndexNo" + tablecounter + "_" + (rowCount+1) + "'] option").appendto($(this).val()); 
}); 
+0

你能告訴你的HTML呢? –

+0

'appendto($(this).val())'?那是'appendTo'和'$(this).val()'不是一個元素。 – undefined

回答

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 &gt;&gt;</a> 
</div> 
<div> 
    <select multiple id="select2"></select> 
    <a href="#" id="remove">&lt;&lt; remove</a> 
</div> 

演示:http://jsfiddle.net/LbPAq/1

+0

謝謝,這適用於我:) – kosherjellyfish

+0

只是想知道,爲什麼你有'.remove()'在那裏?在我的測試中,似乎'.appendTo()'無論如何都會這樣做。 –

+0

@JeffreyKemp'.remove()'用於從第一個選擇框中刪除選定的項目。 '.appendTo()'將項目追加到第二個選擇框。 –

0
$("select[name='NHIndexNo" + tablecounter + "_" + rowCount + "'] option").each(function(){ 
    $("select[name='NHIndexNo" + tablecounter + "_" + (rowCount+1) + "']").append($(this).clone()); 
}); 

你有它幾乎是正確

0

克隆你之前的元素,添加在其他選定的元素:

$("select[name='NHIndexNo" + tablecounter + "_" + rowCount + "'] option") 
.clone() // <-- creates a copy of each selected element 
.appendTo("select[name='NHIndexNo" + tablecounter + "_" + (rowCount+1) + "']"); 

既然你不提供任何上下文信息或標記,我假設選擇是正確的。

0

沒有看到你的HTML,所以我只能猜測您選擇適當的工作,我建議:

$("select[name='NHIndexNo" + tablecounter + "_" + (rowCount+1) + "'] option").clone(true).appendTo($(this).val()); 

的想法是,你克隆的元素(匹配選擇器),然後將克隆附加到其他select元件。

另請注意,我已經通過true(在withDataAndEvents參數)爲clone()方法;這是使用jQuery複製分配給這些元素的數據和事件。如果你不關心被克隆的參數,請省略此參數。

參考文獻:

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> 
相關問題