Keyup 或 Keydown 事件时预先输入填充文本框

Typeahead Fill Text Box when Keyup or Keydown event

我正在尝试将预输入字段 (.typeahead) 的建议列表中的值添加到另一个文本输入。例如,当我键入 "A" 并根据建议值执行 keyup 或 keydown 时,值应显示在文本字段中 .result How to achieve this in typeahead.有什么特别的方法可以挂钩吗?

<input type="text" class="typeahead box"/>
<input type="text" class="result" placeholder="Result"/>
<script>
var states = ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California',
  'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii',
  'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana',
  'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota',
  'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire',
  'New Jersey', 'New Mexico', 'New York', 'North Carolina', 'North Dakota',
  'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island',
  'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont',
  'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming'
];

var states = new Bloodhound({
  datumTokenizer: Bloodhound.tokenizers.whitespace,
  queryTokenizer: Bloodhound.tokenizers.whitespace,
  // `states` is an array of state names defined in "The Basics"
  local: states
});

$('.typeahead').typeahead({
  hint: true,
  highlight: true,
  minLength: 1
},
{
  name: 'states',
  source: states
});

</script>

我自己发现了。使用 typeahead:cursorchange 获取值。

$('.typeahead').bind('typeahead:cursorchange ', function(ev, suggestion) {
  $('.result').val(suggestion); 
});