user1040259
user1040259

Reputation: 6509

Set input value from current input textfield on change event

I have a table with two input boxes. A and B. I enter something into input A (and also B) and I want it's value to automatically be set to whatever I type into it on change event. Is this easy to do?

<tr>    
 <td><input type="text" id="A1" name="A" value=""></td>
 <td><input type="text" id="B1" name="B" value=""></td>
</tr>

Upvotes: 3

Views: 13567

Answers (4)

JohnJohnGa
JohnJohnGa

Reputation: 15685

you can try something like this

$('#A1').change(function(){
  $('#B1').val($(this).val());
});

same for the other input

$('#B1').change(function(){
  $('#A1').val($(this).val());
});

Upvotes: 1

dknaack
dknaack

Reputation: 60556

Description

If you want to keep the two input elements in sync on every keystroke you should use jQuery´s .keyup() and .change() (for copy and paste) method.

Sample

$("#A1").change(function() {
    $("#B1").val($("#A1").val());
});

$("#B1").change(function() {
    $("#A1").val($("#B1").val());
});

$("#A1").keyup(function() {
    $("#B1").val($("#A1").val());
});

$("#B1").keyup(function() {
    $("#A1").val($("#B1").val());
});

jsFiddle Demonstration

More Information

Upvotes: 4

epignosisx
epignosisx

Reputation: 6192

Try this:

$("#B1").bind("change keyup", function(){
    $("#B2").val($(this).val());
});

$("#B2").bind("change keyup", function(){
    $("#B1").val($(this).val());
});

This way it will pick up each character and will also get copy-and-paste text using the mouse.

Upvotes: 1

Ali Muzaffar Khan
Ali Muzaffar Khan

Reputation: 143

Change event for input[type=text] do not work as you would expect them to. It basically checks for the changed value of focus out and then fire the event.

I would recommend using keyup event to copy the value accross. it will be as simple as:

$('#A1').keyup(function(){
   $('#B1').val($('#A1').val());
});

Upvotes: 0

Related Questions