2014-09-10 85 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

相關問題