2014-09-10 87 views
-1

假设我想要将文本框区域中的某个特定字母作为目标,并使用jquery或javascript替换为另一个字母,那么我该如何做到这一点并仍然能够以另一个字母为目标信后,再次,再次等等?改变的信和它将被改变的内容将从文本框或下拉列表中输入(取其中的一个更容易)如何用文本框中的另一个字母替换一个字母

PS我试过了jQuery的替换函数,它没有工作(我可能没有使用它正确虽然:)

$("button").click(function() { 
    $("Changed").replaceWith($("New")  ); 
}); 
+2

你能发布您的代码,所以我们可以清楚地看到你尝试过什么? – Gjohn 2014-09-10 21:41:53

+0

http://jsfiddle.net/clarinetking/6cLgghme/此外,我知道变化不是一个有效的项目,因为它不是一个div或类似的东西(可能是某个奇特的术语) – Clarinetking 2014-09-10 21:42:54

+0

更新:显示我的意思是更好: http://jsfiddle.net/clarinetking/6cLgghme/1/ – Clarinetking 2014-09-10 21:49:06

回答

2
$("button").click(function() { 
    var old = $("#Changed").val(); 
    var replacement = $("#New").val(); 
    var regexp = new RegExp(old, 'g'); 
    $("#Input").val(function(i, current) { 
     return current.replace(regexp, replacement); 
    }); 
}); 
  1. 您需要使用#的ID之前选择它们。
  2. 您需要使用.val()来获取输入值。
  3. jQuery的.replaceWith用于替换整个DOM元素,而不是更改输入的值。
  4. 您使用.val()来更改输入的值。当参数是一个函数时,函数会以当前值作为参数进行调用,并将返回值放置在其位置。
  5. Javascript方法.replace()用于执行字符串中的替换。要执行多个替换,您需要使用RegExpg标志。

DEMO

+0

谢谢:)它甚至改变了一切!什么是正则表达式? – Clarinetking 2014-09-10 22:03:56

+0

正则表达式。 http://www.regular-expressions.info/ – Barmar 2014-09-10 22:04:31

1

请检查下面的代码,如果有帮助:http://jsfiddle.net/La2y734g/2/

HTML如下

<textarea id="Input" cols="50" rows="5">This textbox has been given a name of "myTextBox". This can be used by any script that process the contents of this textbox (once it's been submitted to the server).</textarea> 
<br>Replace 
<input type="text" id="replace">with 
<input type="text" id="with"> 
<button>Detect Single Letters And Replace</button> 

JavaScript作为弗洛WS

$("button").on("click", function() { 
    //$("#Input").replaceWith($("Change")    ); 
    var toReplace = $('#replace').val(); 
    var withText = $('#with').val(); 
    var newText = $("#Input").val().replace(toReplace, withText); 
    $("#Input").val(newText); 
}); 
+0

你真令人惊叹!我很想理解它是如何工作的:) .val是否意味着它里面的东西?它如何凝聚在一起?再次感谢:D – Clarinetking 2014-09-10 21:58:10

+0

@Clarinetking val()表示文本框内的文本或其值。一旦他得到它,他将用你想要的值替换它的值,然后再次将它应用于Input的值。 – Gjohn 2014-09-10 22:00:19

+0

优秀:)谢谢您澄清:) – Clarinetking 2014-09-10 22:00:50

相关问题