将输入值克隆到另一个输入值

时间:2017-08-11 05:22:44

标签: javascript jquery

我尝试做的是当我更新名为foo的输入文本ID时,它应该在名为goo的输入文本ID上实时更新。我已经接近这个解决方案,但我认为它不起作用。请检查。



$('#foo').keyup(updatetxt);
$('#foo').keydown(updatetxt);

var foo = $('#foo');

function updatetxt() {
  $('#goo').val(foo);
}

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="http://code.jquery.com/jquery-1.11.1.js" type="text/javascript"></script>

<input type="text" id="foo" value="something">
<input type="text" id="goo" disabled="disabled" value="something">
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:1)

您正在将元素分配给val(),而您需要更新该值,这应该发生在函数中。

&#13;
&#13;
<!DOCTYPE html>
<html lang="en">

<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  <script src="http://code.jquery.com/jquery-1.11.1.js" type="text/javascript"></script>
</head>

<body>


  <input type="text" id="foo" value="something">
  <input type="text" id="goo" disabled="disabled" value="something">



  <script type='text/javascript'>
    $('#foo').keyup(updatetxt);
    //$('#foo').keydown(updatetxt);

    //var foo = $('#foo').val();

    function updatetxt() {
      $('#goo').val($('#foo').val());
    }
  </script>

</body>

</html>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

你非常接近。您只是使用HTML元素而不是HTML元素值进行更新。您的updatetxt函数应如下所示:

var value = $(this).val();
$('#goo').val(value);

答案 2 :(得分:0)

您可以使用解决方案https://jsfiddle.net/pyvnkdc2/

$('#foo').keyup(function(){
   $('#goo').val($(this).val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="foo" value="something">
<input type="text" id="goo" disabled="disabled" value="something">

keyup上,只需将值分配给另一个input textbox