Каков наилучший способ обработки «другого» параметра в поле выбора? - PullRequest
1 голос
/ 24 марта 2011

Мне нужно реализовать поле выбора, в котором есть опция «другое».Если это выбрано, пользователь должен иметь возможность ввести другой параметр в текстовое поле.Моя задача - как сохранить данные в базе данных.Я ищу уникальные и эффективные способы обработки этой реализации.

Я полагаю, что в прошлый раз, когда я реализовал это, в моей таблице было два столбца, один для поля выбора и один для ввода текстового поля.

Кто-нибудь может придумать лучший способ сделать это?

Ответы [ 2 ]

2 голосов
/ 24 марта 2011

У меня будет справочная таблица, которая заполняет ваше поле выбора полями: id, item, primary. Где «primary» - это логическое значение, указывающее, должно ли оно быть включено в выпадающий список или нет.

Затем, когда пользователи вводят другие элементы, эти элементы будут добавлены в вашу справочную таблицу с полем 'primary', равным false.

Приятной особенностью этой реализации является то, что она концептуально чиста - есть только одно поле, в котором хранятся значения вашего элемента, и если многие ваши пользователи добавляют определенное поле для Other, вы можете просто перевернуть «основной» bool в значение true, и оно появится в главном раскрывающемся списке.

1 голос
/ 24 марта 2011

Предполагая, что у вас есть какая-то таблица метаданных, которая управляет вашими опциями выбора, вы можете добавить логику, которая вставит новую опцию «прочее» в эту таблицу, а затем сослаться на первичный ключ вновь добавленного элемента в вашей главной таблице, которая хранитВ форму вводятся данные.

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

...