HAML 多 select 保管箱

HAML multi-select dropbox

今天早上一直在研究 HAML。我希望我的客户能够在下拉菜单中按住 Shift 键并单击多个选项。这是我现在拥有的 - 一个普通的保管箱:

.form-group
  %label.col-md-4.control-label
    ="#{field_name}:"
  .col-md-8
    = select_tag "filters[#{field}]", options_for_select([["opt1", "1"], ["opt2", "2"], ["opt3", "3"]], selected: current_select_filter_value(field)), class: 'form-control', title: local_assigns[:tooltip].nil? ? "" : tooltip, include_blank: include_blank

我一直在谷歌搜索等,看看是否有任何简单的标志或迂回方式让人们只需按住 shift 键并单击。我担心我可能需要完全使用一个新元素——但如果可以通过保管箱实现,那就太好了。有人有这方面的经验吗?

您需要将 multiple 属性添加到 HTML 中的 select 元素。使用 Rails’ select_tag 您可以通过将 multiple: true 作为选项传递来执行此操作。例如:

= select_tag "field_name", options_for_select(...), multiple: true

这样生成 HTML:

<select name="field_name[]" id="field_name" multiple="multiple"><option value="1">opt1</option>
<option value="2">opt2</option>
<option value="3">opt3</option></select>

并允许用户select多个值。