这是我的代码 - 它工作正常,但我希望能够选择多个组织,而这个选择只允许我选择一个。
<%= f.collection_select :id,
Organisation.order(:Company_Name),
:id,
:Company_Name,
options = {include_blank: "Select an Organisation"},
html_options = {:onchange => 'broadcast_dropdown_change(document.getElementById("broadcast_country_id"), document.getElementById("broadcast_organisation_id"))'} %>
请帮我解决此问题,以及有关如何改进此代码的任何建议。
谢谢。
答案 0 :(得分:0)
我认为你只需要添加html选项multiple: true
:)希望这样做,很好,很容易!
如果没有,您需要确保允许的参数与通过的内容相匹配 - 可能是JSON编码的选项数组 - 并在数据库中适当地解析/保存它们。
在评论中链接的重复内容中,您可以将更多示例提供给您的帖子。让我知道你是如何进行的,如果需要,我会提供更多信息!
根据您的评论进行更新,以下是一个示例:
<%= f.collection_select :id,
Organisation.order(:Company_Name),
:id,
:Company_Name,
{ include_blank: "Select an Organisation" },
onchange: 'broadcast_dropdown_change(document.getElementById("broadcast_country_id"), document.getElementById("broadcast_organisation_id")',
multiple: true %>
这里有几点说明:
options
和html_options
; include_blank: ...
在前者中,最后两个参数在后者中您不需要将这些哈希值分配给变量。第一个哈希需要括号来区分它与第二个哈希,尽管最后的哈希是隐式的,所以不需要括号(尽管你可以使用它们,如果你发现它更容易阅读,即。)
{ onchange: 'broadcast_dropdown_change(document.getElementById("broadcast_country_id"), document.getElementById("broadcast_organisation_id")',
multiple: true }
:Company_Name
应该始终是较低的蛇案例{{1} } 希望有所帮助 - 再次,给我一个喊叫,让我知道你是如何继续下去的。)