LINUX.ORG.RU

История изменений

Исправление stevejobs, (текущая версия) :

виджет выглядит как список с кнопочками + и -. Список можно редактировать с помощью этих кнопок. При добавлении нового элемента, его значение заполняется значением с самого верхнего элемента в списке, а верхний элемент обнуляется. Такой как бы стек получается.

у меня сейчас поле не клонируется, а на манер какого-нибудь реакта лежит в переменной-шаблоне. У шаблона есть структура. Переменные типа {name} и {index}, флаги какую часть шаблона надо клонировать а какую нет (н-р даты т.е. инпуты с классом datepicker у меня не должны копироваться, а текстовые инпуты - должны, и это настраивается в параметрах), и так далее и тому подобное. Когда из середины списка удаляется элемент, нужно переиндексировать нумерацию элементов (нужно чтобы нумерация id и name внутри списка была непрерывной). Далее к этому надо привязать серверную валидацию Спринга и клиентскую валидацию jQueryValidation/MaskedInput/итп, чтобы они понимали сущность поля, у которого ошибка может быть в трех ипостасях: на весь список целиком, на конкретный элемент списка, и на конкретный инпут внутри элемента

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

все это занимает дочерта кода

и вот я не хочу такое писать, очевидно же что это очень generic задача, которая тысячу раз решалась всеми подряд. По сути задача такая: как превратить одиночный инпут в array из таких инпутов.

и я не хочу тянуть angular (да и не могу, потому что заявляена поддержка старых Internet Explorer)

Исправление stevejobs, :

виджет выглядит как список с кнопочками + и -. Список можно редактировать с помощью этих кнопок. При добавлении нового элемента, его значение заполняется значением с самого верхнего элемента в списке, а верхний элемент обнуляется. Такой как бы стек получается.

у меня сейчас поле не клонируется, а на манер какого-нибудь реакта лежит в переменной-шаблоне. У шаблона есть структура. Переменные типа {name} и {index}, флаги какую часть шаблона надо клонировать а какую нет (н-р даты т.е. инпуты с классом datepicker у меня не должны копироваться, а текстовые инпуты - должны, и это настраивается в параметрах), и так далее и тому подобное. Когда из середины списка удаляется элемент, нужно переиндексировать нумерацию элементов (нужно чтобы нумерация id и name внутри списка была непрерывной). Далее к этому надо привязать серверную валидацию Спринга и клиентскую валидацию jQueryValidation/MaskedInput/итп, чтобы они понимали сущность поля, у которого ошибка может быть в трех ипостасях: на весь список целиком, на конкретный элемент списка, и на конкретный инпут внутри элемента

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

все это занимает дочерта кода

и вот я не хочу такое писать, очевидно же что это очень generic задача, которая тысячу раз решалась всеми подряд

и я не хочу тянуть angular (да и не могу, потому что заявляена поддержка старых Internet Explorer)

Исходная версия stevejobs, :

виджет выглядит как список с кнопочками + и -. Список можно редактировать с помощью этих кнопок. При добавлении нового элемента, его значение заполняется значением с самого верхнего элемента в списке, а верхний элемент обнуляется. Такой как бы стек получается.

у меня сейчас поле не клонируется, а на манер какого-нибудь реакта лежит в переменной-шаблоне. У шаблона есть структура. Переменные типа {name} и {index}, флаги какую часть шаблона надо клонировать а какую нет (н-р даты т.е. инпуты с классом datepicker у меня не должны копироваться, а текстовые инпуты - должны, и это настраивается в параметрах), и так далее и тому подобное. Когда из середины списка удаляется элемент, нужно переиндексировать нумерацию элементов (нужно чтобы нумерация id и name внутри списка была непрерывной). Далее к этому надо привязать серверную валидацию Спринга и клиентскую валидацию jQueryValidation/MaskedInput/итп, чтобы они понимали сущность поля, у которого ошибка может быть в трех ипостасях: на весь список целиком, на конкретный элемент списка, и на конкретный инпут внутри элемента

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

и вот я не хочу такое писать, очевидно же что это очень generic задача, которая тысячу раз решалась всеми подряд

и я не хочу тянуть angular (да и не могу, потому что заявляена поддержка старых Internet Explorer)