How can I automatically tab to the next field using jQuery?

前端 未结 4 1731
耶瑟儿~
耶瑟儿~ 2021-01-12 12:42

In jQuery, how can I trigger the behavior of a user tabbing to the next input field?

I\'ve tried this:

var e = jQuery.Event(\"keydown\");
e.which = 9         


        
相关标签:
4条回答
  • 2021-01-12 13:04

    Here's one solution, via http://jqueryminute.com/set-focus-to-the-next-input-field-with-jquery/

    $.fn.focusNextInputField = function() {
        return this.each(function() {
            var fields = $(this).parents('form:eq(0),body').find(':input').not('[type=hidden]');
            var index = fields.index( this );
            if ( index > -1 && ( index + 1 ) < fields.length ) {
                fields.eq( index + 1 ).focus();
            }
            return false;
        });
    };
    

    The use is as follows:

    $( 'current_field_selector' ).focusNextInputField();
    
    0 讨论(0)
  • 2021-01-12 13:09

    See the accepted answer to this question. If for example you want to move focus to the next field when a certain number of characters have been entered, you could use that code in the keyup event, and check the entered number of characters.

    The code in that answer works by getting the set of inputs in the form, finding the selected input and adding 1 to the index of the selected input, and then triggering the focus event on the element with that index.

    0 讨论(0)
  • 2021-01-12 13:17

    Have you tried using

    $("input").trigger( 'keypress', e );

    as a solution?
    I find sometimes being explicit is best. If that doesn't work possibly even

    $("input").trigger( 'keypress', [{preventDefault:function(){},keyCode:9}] );.

    Hope this helps.

    0 讨论(0)
  • 2021-01-12 13:21

    There's a JQuery plugin available:

    http://www.mathachew.com/sandbox/jquery-autotab/

    0 讨论(0)
提交回复
热议问题