2011-07-06 130 views
1

我有兩個選擇,一個「常規」和一個倍數。如果在多重選項中沒有選中,則返回「null」,如果我不做出選擇,則單選返回第一個選項。空選擇,多個返回null和單個返回第一個選項

事情是,如果選擇第一個(空)選項,我需要單選返回「null」。這可能通過jQuery或其他方式以某種方式定義。

你明白我的意思嗎?

乾杯!

編輯:


的代碼是直線前進,只有兩個選擇:

<select id="single"> 
    <option>Make your selection</option> 
    <option value="sel1">Test 1</option> 
    <option value="sel2">Test 2</option> 
    <option value="sel3">Test 3</option> 
    <option value="sel4">Test 4</option> 
</select> 

<select id="multi" multiple="multiple"> 
    <option>Make your selection</option> 
    <option value="mult1">Test 1</option> 
    <option value="mult2">Test 2</option> 
    <option value="mult3">Test 3</option> 
    <option value="mult4">Test 4</option> 
</select> 

如果你不與多個互動選擇它會返回「空」。如果用戶不與其交互,並且第一個選項保持選中狀態,我希望單個返回「null」。

+0

如果您添加代碼,可能會更容易理解您需要的內容 –

+0

請添加一些代碼 –

+0

我已編輯原始帖子。 – Walker

回答

1

這是由於瀏覽器的行爲:首先,在單選元素中,默認情況下選擇第一項。
其次,當省略<option>標記的value屬性時,瀏覽器會將<option>的文本指定爲值。

最簡單的解決方法是將空值在列表中添加到您的第一個項目:

<option value="">Make your selection</option> 

這樣你就不需要在您的JS代碼進行任何更改。

+0

感謝您的回覆。對於這個例子很抱歉,我知道如果沒有價值,瀏覽器會將'

+1

使用簡單的JS代碼,你可以讓它的值爲空時,瀏覽器根本不會發送任何東西,通過禁用元素。這是可行的嗎? –

+0

這樣做。如果值爲空,則刪除提交時的選擇。感謝提示,@ Shadow! – Walker

相關問題