Rails - 下拉菜单和自由文本输入的组合
Rails - Combination of Dropdown and Free-Text-Input
我正在使用 Rails 4.2.1 和 ruby 2.1.6
我正在寻找执行以下操作的解决方案:
有一个包含现有地区列表的下拉列表(德国联邦)。
如果我在该列表中找到我的区域,从下拉列表中找到 select,我就没事了。
如果找不到我所在的地区,我需要在文本字段中手动输入新地区。这也将在数据库中创建一个新条目。
为了让这个用户友好且易于使用而无需在字段之间切换,我更愿意尽可能将其放在一个字段中。
这是我实际下拉菜单的代码,但没有任何选项
自由文本和手动输入。
<br>
= ai3.input :area_id, label: "Bundesland/Kanton", :as => :select, :collection => option_groups_from_collection_for_select( @area_countries_dach, :area_regions, :name, :id, :name)
现在需要将其扩展为 select 框(下拉列表)和自由文本输入字段的组合。
让用户在字段中键入区域的起始字符会很棒。如果找到,请单击或离开该字段 select。如果未找到,请使用已键入的字符创建新区域。
关于如何解决这个问题有什么想法吗?
谢谢
如果 区域 未在 drop-down
.
中找到
如下所示
<div id="show_region" class="btn btn-primary">Cant Find Your Region? Manually Add It Here</div>
<%= ai3.input :some_attribute, :class => 'form-control', :id => 'input_region', placeholder: 'Enter your region' %>
Javacsript
<script type="text/javascript">
$('#input_region').hide();
$(document).ready(function() {
$('#show_region').click(function() {
$('#input_region').slideToggle("slow");
});
});
</script>
但是你不能保存在相同的属性AFAIK。您需要 不同的属性 text_field
。
It would be great to have the user typing into the field the beginning
chars for the region. if found, select by click or leaving the field
这需要 自动完成 text_field
而不是正常的 text_field
。看看 here 如何实现它。
如 Pavan 所述,自动完成文本字段在这种情况下效果很好。我 运行 最近遇到了同样的事情,并为此使用了 Twitter typeahead。
https://github.com/yourabi/twitter-typeahead-rails
其他地方对此有很多讨论。
我正在使用 Rails 4.2.1 和 ruby 2.1.6
我正在寻找执行以下操作的解决方案:
有一个包含现有地区列表的下拉列表(德国联邦)。
如果我在该列表中找到我的区域,从下拉列表中找到 select,我就没事了。
如果找不到我所在的地区,我需要在文本字段中手动输入新地区。这也将在数据库中创建一个新条目。
为了让这个用户友好且易于使用而无需在字段之间切换,我更愿意尽可能将其放在一个字段中。
这是我实际下拉菜单的代码,但没有任何选项 自由文本和手动输入。
<br>
= ai3.input :area_id, label: "Bundesland/Kanton", :as => :select, :collection => option_groups_from_collection_for_select( @area_countries_dach, :area_regions, :name, :id, :name)
现在需要将其扩展为 select 框(下拉列表)和自由文本输入字段的组合。
让用户在字段中键入区域的起始字符会很棒。如果找到,请单击或离开该字段 select。如果未找到,请使用已键入的字符创建新区域。
关于如何解决这个问题有什么想法吗? 谢谢
如果 区域 未在 drop-down
.
如下所示
<div id="show_region" class="btn btn-primary">Cant Find Your Region? Manually Add It Here</div>
<%= ai3.input :some_attribute, :class => 'form-control', :id => 'input_region', placeholder: 'Enter your region' %>
Javacsript
<script type="text/javascript">
$('#input_region').hide();
$(document).ready(function() {
$('#show_region').click(function() {
$('#input_region').slideToggle("slow");
});
});
</script>
但是你不能保存在相同的属性AFAIK。您需要 不同的属性 text_field
。
It would be great to have the user typing into the field the beginning chars for the region. if found, select by click or leaving the field
这需要 自动完成 text_field
而不是正常的 text_field
。看看 here 如何实现它。
如 Pavan 所述,自动完成文本字段在这种情况下效果很好。我 运行 最近遇到了同样的事情,并为此使用了 Twitter typeahead。
https://github.com/yourabi/twitter-typeahead-rails
其他地方对此有很多讨论。