我在表单中有一个列表框。
<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();
如果有人可以帮助我,我将不胜感激。
干杯
最佳答案
使用empty()。 remove()
删除整个元素。 empty()
只是删除其中的所有子节点。
$j('#spanSubmitters').empty();