Rails + Bootstrap标签输入+预先输入

时间:2017-12-11 13:11:37

标签: jquery ruby-on-rails twitter-bootstrap typeahead.js

我正在尝试在我的小项目中设置此功能:http://bootstrap-tagsinput.github.io/bootstrap-tagsinput/examples/

但我不确定我做错了什么。我将jquery,bootstrap-tagsinput和typeahead.bundle文件放入我的app / assets / javascript中,但我仍然无法让它工作。

我的表格中添加了:

<input type="text" data-role="tagsinput" />
<%= javascript_tag do %>
$('input').tagsinput({
  typeahead: {
    source: ['Amsterdam', 'Washington', 'Sydney', 'Beijing', 'Cairo']
  }
});
<% end %>

和citynames.json到我的app / assets文件夹,以及添加

<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">

到顶部,但是虽然标签输入本身有点起作用,但我无法使用typeahead工作或添加freeInput:false选项并使其工作。

1 个答案:

答案 0 :(得分:1)

  1. 下载最新的bootstrap-tagsinput

  2. bootstrap-tagsinput.css获取/src并转到/assets/stylesheets/

  3. 如果您使用scss,请将bootstrap-tagsinput.css重命名为bootstrap-tagsinput.scss

  4. 在applications.scss @import 'bootstrap-tagsinput'require

  5. bootstrap-tagsinput.js获取/src并转到/assets/javascript/

  6. assets/javascript/application.js中的
  7. 需要您的js =//require bootstrap-tagsinput

  8. prefetch: {
        url: 'assets/citynames.json',
        filter: function(list) {
          return $.map(list, function(cityname) {
            return { name: cityname }; });
        }
      }
    

    url: 'assets/citynames.json' - 这不起作用。您可以从控制器提供citinames或将此文件公开,之后您可以从公共文件夹root_url/folder/citinames.json.

    获取此json