我有一个标准的select multipleHTML输入字段,例如:
<select multiple="multiple" size="5" id="mysel" name="countries">
<option value="2">Afghanistan</option>
<option value="4">Aland</option>
</select>
Run Code Online (Sandbox Code Playgroud)
由于这是一个多选项,要选择多个值,您必须按住CTRL键并选择任何其他元素.但是,我想要实现的目标是:
我们的想法是避免必须按下CTRL键并更改此输入字段的使用语义.元素应该只能通过单击(即切换选择状态)来选择和取消选择.
我还没有能够实现这一点.伪代码应该看起来像这样.
我该如何实现呢?
我有一个rails4应用程序.目前,我的收藏选择仅在我选择一个选项时才有效.以下是我的工作代码.我只有产品表格.行业模型填充seeds.rb.IndustryProduct仅用于连接其他2个型号.
我想知道我必须在代码中更改哪些内容才能选择更多内容.
我看到一些工作示例的multiple: true选项如(https://www.youtube.com/watch?v=ZNrNGTe2Zqk 10:20)但在这种情况下,用户界面有点难看+无法用任何样本将其拉下来码.是否还有其他解决方案,例如选择一个选项而不是一个包含多个选项的方框?
楷模:
class Product < ActiveRecord::Base
belongs_to :user
has_many :industry_products
has_many :industries, through: :industry_products
has_many :product_features
accepts_nested_attributes_for :industry_products, allow_destroy: true
accepts_nested_attributes_for :product_features
validates_associated :industry_products
validates_associated :product_features
end
class Industry < ActiveRecord::Base
has_many :industry_products
has_many :products, through: :industry_products
accepts_nested_attributes_for :industry_products
end
class IndustryProduct < ActiveRecord::Base
belongs_to :product
belongs_to :industry
end
Run Code Online (Sandbox Code Playgroud)
_form.html.erb
<%= form_for @product do |f| %>
<%= render 'layouts/error_messages', object: f.object %>
......
<%= f.fields_for :industry_products do |p| %>
<%= p.collection_select …Run Code Online (Sandbox Code Playgroud) forms activerecord ruby-on-rails nested-attributes collection-select