Повторение <select> Использование jQuery + Множественный выбор

StackOverflow https://stackoverflow.com/questions/438538

  •  22-07-2019
  •  | 
  •  

Вопрос

Это не совсем так прямолинейно, как можно подумать.Я использую плагин под названием Множественный выбор jQuery и несколько <select> вариантов использования XSLT следующим образом:

<xsl:for-each select="RootField">
  <select id="{RootField}" multiple="multiple" size="3">
    <option value=""></option>
    <xsl:for-each select="ChildField">
      <option value="{ChildField}"><xsl:value-of select="ChildField"/></option>
    </xsl:for-each>
  </select>
</xsl:for-each>

Прилагаемый JavaScript выглядит следующим образом:

var selects = document.getElementsByTagName("select");

$.each(selects, function() {
  $(this).multiSelect();
});

Это позволяет мне применить функцию multiSelect();функция для каждого отдельного элемента <select> на странице.

Поведение довольно странное, все остальные <select> изменяются в выпадающем списке (в любом случае, все четные).Я не вижу ничего плохого в моем JavaScript, что могло бы вызвать эту проблему, поскольку она повторяла бы каждую из них.Чтобы было более понятно, единственными списками, к которым применен этот JavaScript, являются списки в позициях 2, 4, 6 и 8 (из 9, которые есть на странице).

Есть какие-нибудь идеи?

Это было полезно?

Решение

Я раньше не слышал ярлыка "Проблема Хэллоуина", но Роберт, возможно, прав.
Список узлов, возвращаемый из getElementsByTagName , является динамическим, т. е.добавление или удаление, в данном случае selects, изменит список узлов после его создания.

попробуй

//hoping for magic here
$('select').multiSelect();

или

$('select').each( function() {
    $(this).multiSelect();
});

Другие советы

Похоже на проблему Хэллоуина ( http: // blogs .msdn.com / mikechampion / archive / 2006/07/20 / 672208.aspx ) в multiSelect, но так как я не знаю multiSelect, сказать точно не могу.

Попробуйте это:

jQuery('select').each(function(){selectAll(this.id)});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top