Rails帮助预览文本字段

时间:2011-05-28 18:02:15

标签: javascript jquery ruby-on-rails ruby ruby-on-rails-3

我正在尝试预览文字区域。但它不起作用。

我的new.html.erb:

<h1>New post</h1>

<%= render 'form' %>

<%= link_to 'Back', posts_path %>

我的form.html.erb:

<%= form_for(@post) do |f| %>
  <% 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 |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <div class="field">
    <%= f.label :titel %><br />
    <%= f.text_field :titel %>
  </div>
  <div class="field">
    <%= f.label :body_html %><br />
    <%= f.text_area :body_html %>
  </div>
  <div class="field">
    <%= f.label :up_votes %><br />
    <%= f.text_field :up_votes %>
  </div>
  <div class="field">
    <%= f.label :down_votes %><br />
    <%= f.text_field :down_votes %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>
<div id="post-preview" style="width:400px;border:1px solid black; height:500px;"></div>

我的new.js.erb:

$('#post-preview').html($('#post_body_html').val());

1 个答案:

答案 0 :(得分:1)

对我而言,您似乎需要将预览绑定到能够工作的东西:

$(document).ready(function() {
    // Bind it to some action.
    $('.preview').click(function(){
        $('#post-preview').html($('#post_body_html').val());
    });
});

您甚至可以将其绑定到键盘按下;就像你在StackOverflow上看到的一样。

点击事件工作示例:http://jsfiddle.net/kuroir/D7cPT/1/ 自动刷新(在keyDown上)工作示例:http://jsfiddle.net/kuroir/D7cPT/3/