我有两个'特殊'选项的选择,有点像这样:
<select>
<option value="????">Choose one:</option>
<option value="1">option1</option>
<option value="2">option2</option>
....
<option value="????">Free input</option>
</select>
当用户没有选择任何内容时,我应该忽略输入。当用户选择“自由输入”时,将使用相应文本框中的值。
我在想,你会给出哪些选择?我认为我应该能够不使用第一个值,因为它就是这样:没有价值。但是最后一个选项,我应该使用-1,0还是不同的东西?
答案 0 :(得分:2)
我会使用下一个将要阅读代码的开发人员可以理解的内容。因此,像'freeInput'或'textFieldLookupValue'这样的东西可能是合适的
答案 1 :(得分:2)
如果其余选项具有数值,请为特殊选项选择带有“说话值”的非数字值。
这样,服务器逻辑可以通过简单的IsNumeric()
调用决定做什么,并且您可以在以后随意添加其他特殊选项。
答案 2 :(得分:1)
为什么不使用“免费”和“无”。您不限于整数值,因此使用描述性值可以提高可理解性。
答案 3 :(得分:0)
您如何处理数据?
在C#中,我将定义一个常量来表示ID,并使用它来识别它。
public string CONSTANT_OPTION_FreeInput = "-1";
// Test for value in a different method:
if (selectedValue == CONSTANT_OPTION_FreeInput) {
// Do Stuff
}
你也可以用其他语言做类似的事情。
无论您使用什么价值,只需确保您自己以及将来查看代码的任何其他开发人员都能轻松理解。
答案 4 :(得分:0)
在第一个上,你甚至不需要value
属性。无论如何,它都会出现在服务器端。
关于免费输入选择,我只想使用free_input
。
当然,这完全取决于你。只需选择有意义且与其目的相关的内容。 ;-)
答案 5 :(得分:0)
将第一个选项改为选项组,然后不使用“自由输入”值。选项组不可选。