【问题标题】:Replace multiple strings within textarea with jQuery用jQuery替换textarea中的多个字符串
【发布时间】:2014-06-27 07:36:23
【问题描述】:

我有一个工作代码可以替换文本区域中的多个字符串。 但是它只替换了在我的 textarea 中写入 onLoad 的字符串。

我想将一些文本粘贴到 textarea 中,然后替换它。 我做错了什么?

see: http://jsfiddle.net/yXm5P/

这是我的 HTML:

<input type="button" class="change" value="change all">

<textarea class="input">Schwarz -- doesn't work for text, that was pasted into textarea, onLoad text only....why???</textarea>

这是我的脚本:

$(".change").click(function() {
var dictionary= {
"Schwarz":"#000000",
"Braun":"#6F3E18",
"Beige":"#D4BE8D",
"Grau":"#838383",
"Weiß":"#FFFFFF",
"Dunkelblau":"#0000A0",
"Blau":"#345AFF",
"Hellblau":"#32CAEB",
"Türkis":"#22A2A4",
"Grün":"#25B53A",
"Gelb":"#FFFC00",
"Orange":"#FF6501",
"Rot":"#EA0001",
"Pink":"#ED008C",
"Hell Lila":"#9349AA",
"Dunkel Lila":"#663376",
"Mehrfarbig":"#mcol"   
};

$("body *").each( function(){
    for( var ptrn in dictionary){
        $(this).text( $(this).text().replace(new RegExp(ptrn ,"g"), dictionary[ptrn] ) );
    }
});
      alert( "done" );


});

【问题讨论】:

  • 你在问什么?你有一个点击事件处理程序,它可以工作。你想要什么。还要在您的问题中粘贴一些代码 sn-ps 并且不要诉诸于欺骗 SO 的过滤器
  • 我想将一些文本粘贴到文本区域中,单击一个按钮并根据字典更改粘贴的文本。 (我现在将粘贴我的代码,但它可以在这里 jsfiddle.net/yXm5P)

标签: jquery html string dictionary replace


【解决方案1】:

在这里,您可以使用 .val() 选择器获得正确版本的 jsFiddle: JSfiddle replace text

$(this).val( $(this).val().replace(

【讨论】:

    【解决方案2】:

    .text() 不是获取/设置文本区域值的正确方法。 .val() 是。

    使用正确的功能,应该会产生正确的结果;)

    【讨论】:

    • 你的眼睛里有显微镜吗 :)(添加笑脸以消除歧义
    • @AmitJoki Sniper 范围镜片已通过手术插入我的眼睛以替换我的生物镜片。
    猜你喜欢
    • 2013-12-11
    • 2013-07-04
    • 2017-04-16
    • 2016-02-29
    • 2020-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多