2011-06-07 106 views
3

我在我的表單中有一個列表框。刪除附加項目

<span> 
    <select size=5 id="submission_author_ids" name="submission[author_ids][]" multiple onfocus="displayOptions();"> </select> 
    </span> 

我有一個函數,它讀取列表框中的所有選項,然後將其附加到div中。

function displayOptions(){ 

var list = document.getElementById('submission_author_ids'); 
//$j('#spanSubmitters').remove(); 
for(var i = 0; i < list.options.length; ++i) 
$j('#spanSubmitters').append(list.options[i].text); 

} 

的問題是,每一次焦點被帶到在列表框,選項被附加到div。這可能會導致重複。 我想先刪除div中的所有附加選項,並在每次列表框獲得焦點時重新添加選項。

我嘗試下面的代碼,但它似乎並不奏效---選項不再顯示

$j('#spanSubmitters').remove(); 

我將不勝感激,如果有人可以幫助我了這一點。

乾杯

+0

爲什麼刪除和reappend,爲什麼不保留什麼積極的陣列,而不是讓受騙者? – matchew 2011-06-07 20:23:31

+0

,因爲列表框將是一個隱藏的字段..它通過彈出框填充,我想要的結果(選項)以字符串格式顯示 – tanya 2011-06-07 20:29:28

回答

4

使用empty()remove()刪除整個元素。 empty()只是刪除其中的所有子節點。

$j('#spanSubmitters').empty(); 
+0

可愛,非常感謝你 – tanya 2011-06-07 20:35:44

1

試試這個:

$j('#spanSubmitters').children().remove(); 
+0

謝謝你的建議:) – tanya 2011-06-07 20:36:42