我有以下方法可以正常工作,它跳过禁用的字段,焦点移动到下一个活动文本输入。我的表单包含文本字段,复选框和选择列表。如何向此添加类型选择,以便导航到键入文本或选择?
我已经尝试了[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();
}
});
答案 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();
}
});