簡體   English   中英

用數組替換val中的文本-jQuery

[英]Replace Text in val with array - jquery

我正在尋找用數組替換文本區域值中的文本。 我已經看過如何用值替換文本

$("#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非常基本,因此是我的問題。 任何想法表示贊賞,謝謝。

如果要替換多個字符串,則應使用幾種.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;
});

您需要像這樣將替換鏈接在一起:

$(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;

}); });

您需要遍歷數組並替換

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

演示: 小提琴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM