如何将焦点设置为自动完成组合框?

时间:2015-11-09 19:06:32

标签: jquery jquery-ui combobox autocomplete

首先接受我对英语不好的道歉。 我有两个问题。

  1. 我在页面上有两个HTML元素:输入文本,选择选项(自动完成组合框)。当我在输入文本上按Enter键时,我想专注于选择选项。如何将焦点设置为组合框?

  2. 我有2个这样的元素。

    <input type="text" id="chosegender" />
    <select id="gender">     
      <option value=""></option>
      <option value="m">male</option>
      <option value="f">female</option>
    </select>
    
  3. 我想在输入标签上按 f 时选择男性,并在输入标签上按 m 时选择m

    如果你能帮我解决问题,我会感激你的。

1 个答案:

答案 0 :(得分:0)

要回答第一个问题,要转移回车键,您可以使用以下jquery代码:

$('#chosegender').on('keypress', function(e) { 
    if(e.which == 13) {
        $('#gender').focus();
    } 
    return true;
});

我不太确定第二部分的实际目标是什么,但我整理了一个应该有用的片段:

$('#gender').on('keypress', function(e) {
    switch(e.which) {
        case 109: // m
        case 77:  // M
            $('#gender').val('f');
            break;
        case 102: // f
        case 70:  // F
            $('#gender').val('m');
            break;
    }
    return false;
});

我在keypress事件上附加了一个事件监听器,你可以在keydown或keyup上使用它来更早地访问它。在第二个我返回false以部分取消气泡,但在某些情况下,您可能需要使用preventDefault()事件方法来阻止浏览器捕获密钥。我用它来阻止tab键的默认行为。