2013-02-17 67 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
相关问题