1

我正在尝试使用 select2-rails gem 实现选择 2,但我不熟悉 jQuery 或 rails。

我基本上试图从这个网站复制占位符示例并根据我的需要进行调整:

http://rails-select2-example.herokuapp.com/

我有一个字段列出了活动的表演者。最初我只有一个简单的文本字段:performer。但我想用基于我的用户 profile_name 的查找替换它,然后我可以将其分配给 :performer 字段。

所以我有这样的事情:

<%= select_tag "performer", options_from_collection_for_select(@user, "id", "profile_name"), include_blank: true, id: "performer", data: { placeholder: "Choose a performer" } %>  

紧随其后的是:

<script type="text/javascript"> $(document).ready(function() { 
$('select#performer').select2({
placeholder: "Choose a performer",
allowClear: true
});
});
</script>       

哪个有效,并为我提供了用户的下拉列表。但我不确定如何将此信息传递给 :performer 字段。这可能真的很简单,以至于每当我搜索 simple2 时,似乎都没有提到您如何将它传递给该字段。请帮忙!

更新1:

我可以使用以下方法提交它,但它变成了一个简单的选择框,而不是一个 select2 自动完成框。

 <%= f.select_tag "performer", options_from_collection_for_select(@user,    
"profile_name", "profile_name"), include_blank: true, id: "performer", data: 
{ placeholder: "Choose a performer" } %>

更新2:

让它工作,但仍然无法显示占位符。

<%= f.select :performer, options_from_collection_for_select(@user,
 :profile_name,:profile_name), {}, include_blank: true, 
id: "performer", data: { placeholder: "Choose a performer" } %>   
4

1 回答 1

0

而不是写 data:{placeholder:"Choose a performer"} 更喜欢直接写在逗号 placeholder: "placeholder value" 之后,我认为它应该可以工作。

于 2017-08-19T16:13:59.127 回答