2013-02-17 29 views
0

嗨有一個下拉列表,充滿了來自數據庫的數據。當選擇屬性設置時,不能取消選擇的元素

<select name="form[entities][]" multiple="true"> 
     {% for entity in entities %} 
      {% if entity.selected %} 

      <option value="{{ entity.id }}" selected="selected"> 
       {{ entity.name }} 
      </option> 

      {% else %} 

      <option value="{{ entity.id }}">{{ entity.name }}</option> 

      {% endif %} 
     {% endfor %} 
</select> 

如果一個實體先前被選中,它將被選中。

我可以切換選擇,這意味着我可以選擇另一個實體,而前一個實體將被取消選擇。但例如如果只有一個項目並且它被選中,則不能取消選擇它只是保持選擇狀態。

所以我的問題是,這是正常的行爲?該字段不是必需的。有沒有辦法處理取消選擇只是使用HTML或我必須引入另一個按鈕,並處理JavaScript取消選擇?

+4

如何加入另一種選擇 - 一個空白選項? – Joe 2013-02-17 10:05:05

+0

聽起來不錯,但我記得這應該沒有空白選項,但我不知道。 – 2013-02-17 10:05:57

+2

@artworkad你不能取消選擇只有一個選項。我認爲你應該與喬的解決方案。也許,如果select只有一個子項,可以使用它來添加空白選項:http://jsfiddle.net/XFv4M/它是select的默認行爲。 – 2013-02-17 10:10:23

回答

2

有幾個可能的答案

  • 展現給用戶使用CTRL來取消最後一次選擇的選項
  • 添加一個空白選項
  • 手柄取消選擇使用jQuery