jQuery查找并替换文本

时间:2015-05-07 09:23:57

标签: javascript jquery

我有<textarea>这样的文字:

Hi {nom},

We are glad to accept your invitation.

我需要它成为

Hi Dolly Parton,

We are glad to accept your invitation.

我不想使用任何插件,但我尝试开发这个简单的功能而没有可能的结果:

prevContent=$('textarea').val(); //alerts correctly textarea content
content = prevContent.replace('{nom}','Dolly Parton');

在这种情况下,不进行替换,内容与prevContent具有相同的值。

这并不是为了制作实时替代品,必须在提交表格之前进行更换:

 $(document).on('click','.submitMessage', function(){
        prevContent=$('textarea').val();    
        content = prevContent.replace('{nom}','Dolly Parton');

        $.post('../actions/newMessage.php',{ms_content:content}).success(

                    function(data){
                        alert("yikes");}
   );}
});

已解决:这是由于变量上的拼写错误造成的。它的发送方式与{nom1}相似,而不是{nom}。很抱歉给您带来不便。

2 个答案:

答案 0 :(得分:7)

您需要将RegExpg标记一起使用,因为在您的示例中,只会替换第一个{nom}

var prevContent = $('textarea').val();
var content     = prevContent.replace(/\{nom\}/g, 'Dolly Parton');

并更新textarea您可以使用.val,就像这样

$('textarea').val(content);

Example

答案 1 :(得分:0)

您只需要将“content”的值分配给textarea,如下:

$('textarea').val(content);