jquery专注于多个类型的下一个输入

时间:2015-08-20 07:50:21

标签: javascript jquery

我有以下方法可以正常工作,它跳过禁用的字段,焦点移动到下一个活动文本输入。我的表单包含文本字段,复选框和选择列表。如何向此添加类型选择,以便导航到键入文本或选择?

我已经尝试了[type=text:select],但它不起作用

 $('input').on('keydown', function (e) {
    if (e.keyCode == 13) {
        e.preventDefault();
        $('input[type=text]:enabled:not(:read-only)')[$('input[type=text]:enabled:not(:read-only)').index(this)+1].focus();
    }
});

1 个答案:

答案 0 :(得分:3)

您可以使用多个选择器语法,也可以缓存元素选择的结果以避免重复

$('input, select').on('keydown', function (e) {
    if (e.keyCode == 13) {
        e.preventDefault();

        var $els = $('input:text, select').filter(':enabled:not([readonly])');
        $els.eq($els.index(this) + 1).focus();
    }
});