0

我有一个类型为的简单输入,time我尝试在 DOM 树中设置自动聚焦下一个输入

<input type="time" name="startTime" (keyup)="setFocus($event)"/>

setFocus(element) {
    if (element.target.value.length == 5) {

        let coll = document.getElementsByTagName('input');
        let array = Array.from(coll)
        let thisOne = array.forEach((el) => {
            if (el == element.target) {
                let index = array.indexOf(el)

                let next = array[index + 1]

                next.focus();
                next.select();
            }
        });


    }
}

问题是当时间具有默认值时,值长度始终为 5(在 keyup 上),如05:45or 18:22,那么我该如何设置下一个自动对焦?有没有办法找出光标在第 5 位?任何想法?

4

1 回答 1

0

知道您有输入元素的 id,然后您可以像这样使用 JavaScript 焦点方法设置焦点

document.getElementById(next.id).focus();

编辑:我发现如果元素没有id,焦点不起作用,如果你设置你的元素id,那么你的代码将完美地工作。

于 2018-09-25T13:25:59.540 回答