我想每次将ik
更改为b
,但它只会更改一次。我尝试了很多方法来动态地改变它,但我不能。有人可以帮忙吗?
$(document).ready(function() {
$("#ta_1").keyup(function(event) {
var text1 = $("#ta_1").val();
var text2 = text1.replace("ik", "b");
$("#ta_2").val(text2);
});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="ta_1" rows="5" cols="28" ></textarea>
<textarea id="ta_2" rows="5" cols="28"></textarea>
&#13;
答案 0 :(得分:2)
javascript中没有replaceAll
,您必须使用regular expression
和global flag
来执行此操作。
所以编写如下代码,
var text2 = text1.replace(/ik/g,"b");
您的完整代码将是,
$(document).ready(function() {
$("#ta_1").keyup(function(event) {
var text = $(this).val().replace(/ik/g,"b");
$("#ta_2").val(text);
});
});
答案 1 :(得分:2)
假设您想要替换ik
中textarea
的所有实例,那么您可以使用设置了g
全局标志的正则表达式。试试这个:
$(document).ready(function() {
$("#ta_1").keyup(function(event) {
var text1 = $("#ta_1").val();
var text2 = text1.replace(/ik/g, 'b');
$("#ta_2").val(text2);
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="ta_1" rows="5" cols="28"></textarea>
<textarea id="ta_2" rows="5" cols="28"></textarea>
&#13;