Значение по умолчанию для тегов <select> - PullRequest
1 голос
/ 19 января 2009

У меня есть выбор с двумя «специальными» опциями, примерно так:

<select>
 <option value="????">Choose one:</option>
 <option value="1">option1</option>
 <option value="2">option2</option>
   ....
 <option value="????">Free input</option>
</select>

Когда пользователь ничего не выбирает, я должен игнорировать ввод. Когда пользователь выбирает «свободный ввод», используется значение из соответствующего текстового поля.

Мне было интересно, какие значения вы бы дали этим опциям? Я подумал, что должен быть в состоянии использовать не значение для первого, потому что это то, что это: нет значения Но последний вариант, я должен использовать -1, 0 или что-то другое?

Ответы [ 6 ]

2 голосов
/ 19 января 2009

Если остальные параметры имеют числовые значения, выберите нечисловые значения с «речевыми значениями» для специальных параметров.

Таким образом, логика сервера может решить с помощью простого вызова IsNumeric(), что делать, и вы можете добавлять другие специальные опции позже.

2 голосов
/ 19 января 2009

Я бы использовал что-то, что будет понятно следующему разработчику, который будет читать код. Поэтому что-то вроде 'freeInput' или 'textFieldLookupValue' может быть подходящим

1 голос
/ 19 января 2009

Почему бы не использовать "бесплатно" и "нет". Вы не ограничены целочисленными значениями, поэтому использование описательных значений улучшит понятность.

0 голосов
/ 19 января 2009

Сделайте первый вариант группой параметров, а затем не используйте значение для «Свободного ввода». Группа опций недоступна для выбора.

0 голосов
/ 19 января 2009

В первом случае вам даже не нужен атрибут value. Независимо от того, будет ли он установлен на стороне сервера.

Что касается выбора свободного ввода, я бы просто сказал free_input.

Конечно, все зависит от вас. Просто выберите то, что имеет смысл и имеет отношение к его назначению. ;-)

0 голосов
/ 19 января 2009

Как вы обрабатываете ваши данные?

В C # я определю константу для представления идентификатора и использую ее для ее идентификации.

public string CONSTANT_OPTION_FreeInput = "-1";

// Test for value in a different method:
if (selectedValue == CONSTANT_OPTION_FreeInput) {
  // Do Stuff
}

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

Какую бы ценность вы ни использовали, просто убедитесь, что вы и любой другой разработчик легко поймете ее в будущем.

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