Как повторно использовать идентификаторы и имена для объектов Select2 - PullRequest
0 голосов
/ 08 мая 2018

У меня есть большая таблица, в которой есть один объект Select2 в каждой строке, и все они имеют соответствующий идентификатор, который содержит номер строки, в которой они находятся (и они также имеют одно и то же имя) (fmselection1, fmselection2 ,. ...)

Всякий раз, когда пользователь удаляет строку (например, с помощью объекта Select2 "fmselection2"), я хочу, чтобы все последующие объекты Select2 уменьшали свои идентификатор и имя:
fmselection3-> fmselection2
fmselection4-> fmselection3
...

Это делается с переназначением атрибутов:

$('#fmselection'+i).attr('id', 'fmselection'+(i-1));
$('#fmselection'+(i-1)).attr('name', 'fmselection'+(i-1));

Кажется, это работает, но как только новые строки снова добавляются и активируются с помощью

$('#fmselection'+newID).select2();

Объект Select2, который когда-то использовал newID, внезапно теряет свой внешний вид Select2 и ведет себя как обычный выбор HTML снова.

У меня есть вопрос: Поддерживает ли Select2 «переназначение» идентификаторов и имен вообще?

1 Ответ

0 голосов
/ 09 мая 2018

Ответ на мой вопрос: Нет , после нескольких часов попыток (в том числе сначала с помощью Select ("destroy") и затем повторной активации) переназначение ранее использованного идентификатора не сработало как в IE, так и в IE.Хром.

Я следовал подходу Скотта Маркуса и пытался избежать необходимости нумерации удостоверений личности, что в конечном итоге позволило избежать переназначения.

...