SO fiddle

Test Fiddle mainly for SO Questions

by Nick Craver

HTML

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/themes/overcast/jquery-ui.css">
<input type="text" id="a" />
<br />
<input type="text" id="b" />

JavaScript

$("#a").bind('keyup change', {controlToFire: "b"}, function(event, fire) {
      $("#"+event.data.controlToFire).val($(this).val());
      if(fire !== false) {
          alert("Setting other control");
          $('#' + event.data.controlToFire).trigger('change', false);
      } else { 
          alert("Exiting, I was told not to loop"); 
      }
  });

  $("#b").bind('keyup change', {controlToFire: "a"}, function(event, fire) {
      $("#"+event.data.controlToFire).val($(this).val());
      if(fire !== false) {
          alert("Setting other control");
          $('#' + event.data.controlToFire).trigger('change', false);
      } else { 
          alert("Exiting, I was told not to loop"); 
      }
  });


$("#a").val("Test Value").change();