2009-01-19 131 views
1

我有兩個「特殊」的選項,有點像這樣一個選擇:默認值

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

當用戶選擇什麼,我應該忽略輸入。當用戶選擇「自由輸入」時,將使用來自相應文本框的值。

我想知道,你會給這些選項的價值?我想我應該能夠在第一次使用任何價值,因爲這就是它:沒有價值。但是最後一個選項,我應該使用-1,0還是不同的東西?

回答

2

我會使用一些對於下一位將閱讀代碼的開發人員來說可以理解的內容。因此,像'freeInput'或'textFieldLookupValue'可能是適當的

1

爲什麼不使用「自由」和「無」。你不限於整數值,所以使用描述性的值會提高可理解性。

0

你是如何處理你的數據?

在C#中,我將定義一個常量來表示ID,並用它來標識它。

public string CONSTANT_OPTION_FreeInput = "-1"; 

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

你也可以在其他語言中做類似的事情。

無論您使用什麼樣的值,只要確保自己和任何其他開發人員在將來查看代碼時都能輕鬆理解它。

0

在第一個,你真的不需要value屬性存在。無論如何,它都會在服務器端未設置。

關於免費輸入的選擇,我只想去free_input

當然,這完全取決於你。只要選擇一些有意義並與其目的相關的東西。 ;-)

0

將第一個選項改爲選項組,然後使用沒有值的「自由輸入」。選項組不可選。

2

如果其餘選項具有數值,請爲特殊選項選擇具有「說話值」的非數字值。

這樣服務器邏輯可以用一個簡單的IsNumeric()調用來決定要做什麼,並且您可以隨後在其後添加其他特殊選項。