我在表单中有一个列表框。

<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();

10-06 04:29