如何用文本框中的另一个字母替换字母

时间:2014-09-10 21:40:34

标签: javascript jquery html replace textbox

假设我想要定位文本框区域中的特定字母,并使用jquery或javascript将其替换为另一个字母,我将如何做到这一点并且仍然可以在之后,再次,再次等目标中定位另一个字母?要改变的字母和将要更改的内容将从文本框或下拉列表中输入(以较容易的方式)

P.S我尝试了jQuery的替换功能而且它没有用(虽然我可能没有正确使用它)。

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

2 个答案:

答案 0 :(得分: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()用于执行字符串替换。要进行多次替换,您需要使用带有RegExp标记的g
  6. DEMO

答案 1 :(得分: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如下

$("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);
});