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

时间:2016-09-19 10:27:41

标签: javascript jquery

我想选择下一个输入:可见并选择:当用户按“输入”时可见。我的代码工作,除了它找到下一个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();
    }
});

如何过滤按钮?

由于

2 个答案:

答案 0 :(得分:1)

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

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

虽然这很冗长。一个更好的解决方案可能是在 想要查找的inputselect元素上添加一个公共类,并选择它,例如.foo:visible

答案 1 :(得分:0)

试试这个:

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

希望它有效