Jquery找到下一个输入,选择按下键,但不是按钮

Jquery find next input, select on keypress but not button

本文关键字:按钮 选择 下一个 输入 Jquery      更新时间:2023-09-26

我想选择下一个input:visible并在用户按"enter"时选择:visible。我的代码工作,除了它找到下一个button元素,我不希望这样。

$(document).on('keypress', 'input, select', function (e) {
if (e.which == 13) {
    e.preventDefault();
            var inputs = $(this).closest('form').find(':input:visible, select:visible');
          inputs.eq( inputs.index(this)+ 1 ).focus();
    }
});

如何过滤按钮?

谢谢

您可以使用:not来排除某些元素:

var inputs = $(this).closest('form').find(':input:not(button,[type="button"],[type="submit"]):visible, select:visible');

这变得相当冗长。更好的解决方案可能是在想要查找并选择的inputselect元素上放置一个公共类,例如.foo:visible

try this:

if(inputs.eq( inputs.index(this)+ 1 ).prop("type") != "button")
    inputs.eq( inputs.index(this)+ 1 ).focus();

希望能成功