在TextArea中替换jQuery字符串

我正在尝试在用户输入内容后在textarea中进行字符串替换,而我尝试过的任何工作都没有。 任何帮助将不胜感激。 这就是我所在的地方:

 $("#field_id_29").bind("change keyup input",function(){ var text = $("#field_id_29").val(); text = text.replace(/source/g,"www") $("#field_id_29").val(text); }); 

我需要用www替换www-source

jsFiddle在这里: http : //jsfiddle.net/6RNY2/

试试这个,

 $("#field_id_29").change(function(){ var text = $(this).val(); var regexp = /www-source/gi; if ( text.match(regexp) ){ text = text.replace(/www-source/g,"www"); return $(this).val(text); } return false; }); 

当字段改变时,我们获取值,比较是否与正则表达式相比,如果我们有匹配,我们替换文本,我们就完成了,否则我们只是返回。

的jsfiddle

  $("#field_id_29").bind("change keyup input",function(){ this.value= this.value.replace(/www-source/g,"www"); });​ 

注意:在函数内部这是textarea的引用,因此您直接使用this.value而不是使用id访问textarea值。

试试这个,

现场演示

 [$("#field_id_29").bind("keyup", function() { var text = $(this).val(); text = text.replace(/source/g, "www") $(this).val(text); });​ 

您的代码有效,您只需要在jsfiddle中使用jQuery而不是Mootools,也可以只使用change事件,以便仅在textarea更新后才替换文本