从textarea复制到另一个textarea但第二个textarea的值不应该更改

时间:2014-10-31 12:40:03

标签: javascript jquery html

我有两个textareas。我正在将数据从一个复制到另一个,但如果我在第一个textarea中更改数据,那么第二个textarea中的数据也会发生变化,这很明显。

我的要求是这样的:假设我写了#34; country"它已被粘贴到第二个文本区域。现在,如果我取代" country"用"任何其他"然后在第二个textarea" country"不应该被替换。如果我在第一个textarea中写了一些新的(不是替换),那么只会粘贴那些数据。

有可能吗?

我的代码到现在为止:



function showRelated(e) { 
  //$('src2').html($('src1').html()); 
  $('#src2').val( $('#src1').val() ); 
}

<textarea name="source" id="src1" cols="150" rows="20" onkeyup="showRelated(event)"></textarea> 
<textarea name="source2" id="src2" cols="150" rows="20"></textarea>
&#13;
&#13;
&#13;

第二个文本区域对用户是隐藏的。用户写入的内容将被复制到第二个textarea并且将是音译。如果用户替换某些数据,那么它也不会影响他已经输入的数据这就是我需要在不使用数据库的情况下维护副本的原因。

4 个答案:

答案 0 :(得分:0)

$('#one').on('blur', function() {
    $('#two').val($('#two').val() + '\n' + $('#one').val());
});

答案 1 :(得分:0)

这个问题不是最容易破译的问题,但也许您想将翻译后的文本存储到第二个文本区域?

<textarea id="one"></textarea>
<textarea id="two"></textarea>

var translate = function(input) {
    // TODO: actual translation
    return 'translated "' + input + '"';
}

var $one = $("#one");
var $two = $("#two");

$one.on('blur', function() {
    $two.val(translate($one.val()));
});

答案 2 :(得分:0)

好吧,这似乎是你想要的:

HTML:

<textarea id="src1"></textarea>
<textarea id="src2"></textarea>

JS:

$("#src1").keyup(function() {
     var src1_val = $(this).val();
     var src2_val = $("#src2").val();
     var new_string = src2_val + src1_val;
     $("#src2").val(new_string);
});

答案 3 :(得分:0)

你需要做一些像this

这样的事情
$("#one").blur(function() { // triggering event
     var one = $(this).val(); // place values in variable to make them easier to work with
     var two = $("#two").val();
     var three = one + two;
     $("#two").val(three); // set the new value when the event occurs
});