jquery textarea 设置值但 \n 不起作用

Posted

技术标签:

【中文标题】jquery textarea 设置值但 \\n 不起作用【英文标题】:jquery textarea set value but \n doesn't workjquery textarea 设置值但 \n 不起作用 【发布时间】:2020-02-26 10:39:57 【问题描述】:

我正在使用 codeigniter,控制器发送一个值来查看(我想在 textarea 中显示它)。 该值包含断线 \n,因为数据是使用 textarea 标签输入的。 我正在使用 jquery 来读取它的数据。我没有在 html 部分阅读它(这将完美地工作),因为我很容易识别和维护每个功能,如删除部分/元素或添加部分/元素。 我一直在寻找任何类似的问题,但没有一个有效。 所以这是我的代码:

<script>
function init()

    var render = '<textarea required id="some_id"><?= $test ?></textarea>
    $('#some_div').html(render);

</script>

所以有一个错误,结果在我的控制台上看起来像这样:

所以有断线,我猜问题出在断线,因为当声明一个字符串值时,它需要 '+ 在它的末尾。 所以我尝试添加它,这是我的代码。

<script>
function init()

    <?php

        $text = $some_data_from_controller;
        $breaks = array("\r\n");  
        $test = str_ireplace($breaks, "'+\n'", $text);  

    ?>

    var render = '<textarea required id="some_id"><?= $test ?></textarea>';
    $('#some_div').html(render);

</script>

这是在我的控制台上:

所以没有出现错误。但断线不起作用。这是我网络上的结果:

【问题讨论】:

【参考方案1】:

我认为您的错误是混合使用 javascript 语法和 php 语法。 Javascript 语法没有''。您不需要替换“\n”。将代码更改为:

<script>
     function init()
          $text = $some_data_from_controller;
          var render = '<textarea required id="some_id">'+$text+'</textarea>';
          $('#some_div').html(render);
      
</script>

【讨论】:

对不起,我已经编辑了我的帖子。它应该在一个php标签中。请再看一遍,谢谢。

以上是关于jquery textarea 设置值但 \n 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

从控制器设置 ng-show 值但我的代码不起作用

jQuery:在 Textarea 的内容中附加一个不间断的空格

jquery 获取textarea文本值详解

使用 jQuery 限制 textarea 中的行数和显示行数

在按键事件中使用jQuery在textarea中设置文本[重复]

jquery 添加到 textarea 文本()