0

这是我的代码:

   var select = $('#subjectslist');
   select.each(function(index, option) 
    {
        $(option).remove();
    });
   $.each(subjects, function(key, subject) 
   {
       if (select.find('option[value="' + subject + '"]').length === 0 && subject!="") 
   {
     //Ajouter la nouvelle catégorie dans la liste
      $('<option>', {
       value: subject,
       text: subject
       }).appendTo(select);
  }

});

这是我的问题:

由于第一个每个循环,我的多选完全消失了。如何在不调整大小的情况下再次填充之前使其清空多选?

4

1 回答 1

1

当你的变量option在你的循环中被调用时,你的循环实际上是在select元素上循环(只有一个被 id 发现),然后将自己从 DOM 中删除。

你真正想要的是 var options = $('#subjectslist option')or or or or select.find('option').each(function(index, option)or select.children().remove();or some 优选版本。

于 2012-12-09T21:44:54.383 回答