2009-10-08 144 views
0

我有一個選擇表單選項字段設置如下圖所示:選擇選項始終選擇

<select name="options[]" multiple="multiple"> 
    <option value="1" selected="selected">Option 1</option> 
    <option value="2">Option 2</option> 
    <option value="3">Option 3</option> 
    <option value="4">Option 4</option> 
</select> 

用戶可以選擇多個選項,但我想選擇第一個選項,並始終保持選中狀態。用戶不應該能夠取消選擇第一個選項,基本上它是必填字段。

可以做到這一點嗎?我不介意使用JavaScript或Jquery來實現這一點,我試着讓選項「選擇」和「禁用」,但用戶仍然可以取消選擇第一個選項。

乾杯

EEF

回答

3

您必須(重新)選擇該選項的每一個作出選擇的時間。我會使用onchange()處理程序。稍微修改UI可能會更好,以向用戶顯示它不是真正的可選項。並確保後端不依賴於選擇該選項,以防js關閉或錯誤。

+0

+1提醒重寫UI。 – rahul 2009-10-08 13:45:46

+0

我已經考慮到這一點,並且隨着UI的重新設計,將會長期改善'用戶體驗'。謝謝 – RailsSon 2009-10-08 15:59:41

4

嘗試是這樣的(jQuery的):

$('select[name^=options]').change(function() { 
    $(this).children(':first').attr('selected', true); 
}); 
+0

你應該使用'.prop('selected',true)'爲jQuery 1.6+ – codefreak 2013-03-03 13:26:51

2

使用的onclick或onchange事件:

select.onclick = function() { 
    select.options[0].selected = true; 
} 
+0

+1:越容易越好。 – enguerran 2009-10-08 13:47:51

2

正如其他人所說,您有(再次)選擇選項每次改變時間。但需要注意的另一件重要的事情是,無論這種形式被用於什麼(例如服務器端數據處理),都需要知道這個規則。否則,所有人必須做的就是去你的網站,禁用JavaScript,然後選擇一個你不希望他們擁有的選項。