Jquery - 设置包含\ r \ n的textarea值

时间:2011-07-19 00:48:54

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

我需要设置一个textarea值,其中包含一个来自数据库的段落。

$("#body").val('<%= @letter.body %>');

@letter.body只是简单文本时,上面的代码有效,但是当有新行或该字段中的任何其他内容时它会失败。如何在我的textarea中正确呈现整个段落,包括可能包含的任何换行符,子弹等?

2 个答案:

答案 0 :(得分:1)

在PHP中它可以是:

$("#body").val('<?=json_encode($letter->body)?>');

所以在ruby中找到相同的json编码,你就完成了。

我们需要json编码,因为在js中我们不能有这样的var:

var f = 'daadsasd
asdadsdasdas';

var f = 'daadsasd\nasdadsdasdas';

请参阅:

答案 1 :(得分:0)

Rails 3.0:

$("#body").val(<%= @letter.body.to_json %>);

Rails 3.1:

$("#body").val(<%= j @letter.body %>);