如何在文本中间实时支付输入值

时间:2019-06-08 23:08:14

标签: javascript jquery

我想使用以下方式实时显示输入值来代替文本中间的单词: 你好吗[先生] 是你的国家(国家)?

我尝试使用keyup并将[name]替换为输入值,但这仅执行一次,并且不更新cos [[name]不再退出以替换输入值。

        $(".mailer-form input[name=person-name]").keyup(function(){
             var name = $('input[name=person-name]').val();
          var country = $('input[name=person-country]').val();
          var text = $('.email-content').text().replace('[name]', name);
         $('.email-content').text(text);

1 个答案:

答案 0 :(得分:2)

存储原始文本,然后将其用作模板。

const template = {
     ".email-content": $('.email-content').text()
};

$(".mailer-form input[name=person-name]").keyup(function(){

     const name = $(this).val();
     const country = $('input[name=person-country]').val();
     const text = template['.email-content'].replace('[name]', name);

     $('.email-content').text(text);
});