Как создать динамическое текстовое поле в ruby ​​on rails с помощью jQuery?

Я работаю над приложением в рельсах и немного новичок в этом. Все, что я хочу, - это создать динамическое текстовое поле, которое будет расширяться по высоте в зависимости от того, сколько текста написано, и при обновлении сообщения, чтобы соответственно распознать высоту сообщения. Я нашел много примеров и даже попробовал autosize gem, но по какой-то причине он просто не работает. что у меня есть до сих пор:

_form.heml.erb частично

<%= form_for @post, remote: true do |form| %>
  <% if post.errors.any? %>
    <div id = "error_explanation">
      <h2><%= pluralize(post.errors.count, "error") %> prohibited this post from being saved:</h2>

      <ul>
      <% post.errors.full_messages.each do |message| %>
        <li><%= message %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <div class = "field">
    <%= form.label :body %>
    <%= form.text_area :body, id: :post_body %>
  </div>

  <div class = "actions">
    <%= form.submit %>
  </div>
<% end %>
<div class = "output"></div>

posts.js

 $('#post_body').on('change keyup keydown paste cut', 'textarea', function () {
            $(this).height(0).height(this.scrollHeight);
        }).find('textarea').change();

.scss файл

textarea {
    width: 200px;
    height:15px;
    line-height:15px;
    min-width: 200px;
    max-width: 300px;
    transition: width 0.25s;
    resize:none;
    overflow:hidden;
}

Я пробовал еще много, но по какой-то причине у меня ничего не работало, и я не понимаю, почему. Все файлы видны (я пробовал какое-то оповещение («тесты»)). Я использую rails 2.5.0 в Linux Ubuntu. Если кто-нибудь может сказать мне, что я делаю не так, я был бы очень благодарен. Спасибо.

Этот может вам помочь
vpibano 09.04.2018 07:48

это сработало для меня! Спасибо! Только сейчас, когда я пытаюсь обновить сообщение, он не распознает высоту текстовой области. Поэтому, если у меня 8 строк / строк, отображаются только стандартные 3.

Dragos Alexandru Stoian 09.04.2018 18:25
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
1
2
415
2

Ответы 2

Я просто использую плагин autogrow для jquery: http://www.technoreply.com/autogrow-textarea-plugin-3-0/

В твоем случае:

$(function () {
  $('#post_body').autoGrow();
});

сделаю работу.

Не уверен, но вы сможете прикрепить это к событию

$ ("# ваш идентификатор или. для класса"). css ("высота", "3vw", "ширина" "10vw");

Другие вопросы по теме