我希望用文本区域值替换文本区域中的文本。我已经看到了如何用值
替换文本$("#mySelector").val(function(i, v) { //index, current value
return v.replace("#","Custom Text");
});
但是我要替换多个项目。我试过&&在多个值之间,但我显然做错了。
这是我到目前为止所做的:
$(document).ready(function() {
$('#submit').click(function() {
var array = [];
array[0] = '#1', 'Value 1';
array[1] = '#2', 'Value 2';
array[2] = '#3', 'Value 3';
$('#article').val(function(i,v) {
return v.replace(
'$VET','Sebastian Vettel' &&
'$VETf','Sebastian'
);
});
return false;
});
});
数组在那里,但我想知道如何在函数中使用它来返回v.replace。我的jQuery非常基础,因此我的问题。感谢任何想法。
答案 0 :(得分:0)
如果要替换多个字符串,则应使用多种.replace()
方法:
return v.replace('str1','Sebastian Vettel')
.replace('str2','Sebastian');
您也可以使用对象:
,而不是使用多个.replace()
方法
var chars = {
'#1': 'Value 1',
'#2': 'Value 2'
};
$('#article').val(function(i, v) {
for(k in chars) {
if (chars.hasOwnProperty(k))
v = v.replace(k, chars[k]);
}
return v;
});
答案 1 :(得分:0)
您需要将替换链接在一起,如下所示:
。 $(document).ready(function(){
$('#submit')。click(function(){
var array = [];
array[0] = '#1', 'Value 1';
array[1] = '#2', 'Value 2';
array[2] = '#3', 'Value 3';
$('#article').val(function(i,v) {
return v.replace(
'$VET','Sebastian Vettel').replace(
'$VETf','Sebastian'
);
});
return false;
}); });
答案 2 :(得分:0)
您需要遍历数组并替换
$(document).ready(function () {
$('#submit').click(function () {
var array = [];
array[0] = ['#1', 'Value 1'];
array[1] = ['#2', 'Value 2'];
array[2] = ['#3', 'Value 3'];
$('#article').val(function (i, v) {
$.each(array, function (i, arr) {
v = v.replace(arr[0], arr[1]);
})
return v;
});
return false;
});
});
演示:Fiddle