0

我如何测试是否有下一个,因为这不想工作

出于某种原因,它一直计算 3 个元素?

$("body "+content).on("keypress","form.fcheckoutform :input.aantal",function(e) {
        if (e.keyCode === 9) { 

            var nextItem = $(this).nextAll();

            if (!nextItem.length) { 
                $(content+ '.aantal:eq(0)').focus();
                return false;
            }
            $(this).nextAll().focus();
        }
    });

编辑: 解决了

$("body "+content).on("keypress","form.fcheckoutform :input.aantal",function(e) {
        e.preventDefault();
        if (e.keyCode === 9) { 
            var nextItem = $(this).parents('.item-checkout').next().children('form').children('div.fr').find('.aantal');
            if (!nextItem.length) { 
                $(content+ ' .aantal:first').focus();
            }else{
                nextItem.focus();
            }
        }
    });

谢谢,理查德

4

1 回答 1

0

尝试这个:

$("body "+content).on("keypress","form.fcheckoutform :input.aantal",function(e) {
    if (e.keyCode === 9) { 

        var nextItem = $(this).nextUntil(':input.aantal').next();

        if (!nextItem.length) { 
            $(content+ '.aantal:eq(0)').focus();
            return false;
        }
        $(this).nextUntil(':input.aantal').next().focus();
    }
});
于 2012-06-26T19:21:59.497 回答