Как ограничить количество полей формы, которые можно добавить с помощью jquery? - PullRequest
2 голосов
/ 03 июня 2011

Я следовал инструкциям в Railscasts # 197 http://railscasts.com/episodes/197-nested-model-form-part-2 о том, как добавлять ссылки, которые динамически добавляют поля формы в рельсы. Это круто! Я бы никогда не понял это самостоятельно.

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

(Небольшая вещь: кто-нибудь знает, как сделать новое поле slideDown () вместо того, чтобы просто появляться?)

Ответы [ 2 ]

1 голос
/ 03 июня 2011

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

if($("input,select").length <5){
//create element dynamically
}

Также проверьте этот учебник

jQuery - Динамическое добавление элементов формы

0 голосов
/ 21 июля 2012

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

Вы можете сделатьдобавив что-то вроде этого в вашу Parent модель:

accepts_nested_attributes_for :children, allow_destroy: true, limit: 5

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...