Rails应用程序:Typeahead将附加建议附加到textarea中的内容

时间:2016-10-29 15:43:37

标签: jquery ruby-on-rails autocomplete typeahead twitter-typeahead

这是我在社区中发表的第一篇文章,所以如果您能在Rails应用程序中使用 twitter-typeahead 面对我的问题,我将非常感谢。

我正在开发一个集成了twitter克隆的Web应用程序,允许用户编写可以在其中包含主题标签的帖子。在撰写帖子时,我想向用户提供他或她可以使用的数据库存在标签的建议。

在指定的网址 / autocomplete / hashtags?query =%QUERY 中正确提供了带有建议的Json,我在输入时可以选择建议。问题是每次我选择一个建议时,text_area字段中的完整文本将被删除并替换为所选的主题标签。如何将所选选项附加到现有文本?

E.g。当我输入

  

这是一个新的#has

并选择#hashtag作为建议的主题标签,我希望text_area的内容为:

  

这是一个新的#hashtag

最佳

塞巴斯蒂安

hashtags.js

var ready;
ready = function() {

  var hashtags = new Bloodhound({
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace('tag'),
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    limit: 10,
    remote: {
      url: '/autocomplete/hashtags?query=%QUERY',
      wildcard: '%QUERY'
    }
  });

    hashtags.initialize();

    $('.typeahead-hashtags').typeahead(null, {
      hint: true,
      highlight: true,
      name: 'hashtags',
      displayKey: 'tag',
      source: hashtags.ttAdapter(),
    });
  }

$(document).ready(ready);
$(document).on('page:load', ready);

_micropost_form.html.erb

<%= form_for(@micropost, html: { multipart: true }) do |f| %>
  <div class="field">
    <%= f.text_area :content, class: 'typeahead-hashtags form-control col-md-6' %>
  </div>
  <%= f.submit "Post", class: "btn btn-primary" %>
<% end %>

0 个答案:

没有答案