用jquery聚焦匹配输入字段

我正在尝试将输入字段集中到与另一个输入匹配的 div 中。


我必须跳过参考输入(第一个输入值)。然后,我的代码是:


$("#btnSearch").on('click',function() {

    input = document.getElementsByTagName('input');

    match = 0;

    for (i=0;i<input.length;i++) {

        if(input[i].value == $("#btnSearch > input").val()) {

            match = 1;

        }else if (match==1) {

            input[i].focus();

            break;

        }

    }

});

但是使用这段代码,我关注下一个输入(第二个输入)。它不起作用。有什么想法可以改进我的代码吗?


慕哥9229398
浏览 109回答 1
1回答

明月笑刀无情

你应该把你的注意力放在if首先检查的地方,match比如代替if(input[i].value == $("#btnSearch > input").val()) {&nbsp; &nbsp; &nbsp;match = 1;}else if (match==1) {&nbsp; &nbsp; input[i].focus();&nbsp; &nbsp; break;}你应该写if(match==1) {&nbsp; &nbsp; &nbsp; &nbsp; input[i].focus();&nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp;}else if (input[i].value == $("#btnSearch > input").val()) {&nbsp; &nbsp; match = 1;&nbsp; &nbsp;}说明:你的代码在做什么1) 检查参考输入的条件,将匹配设置为 1,因为它是真的,2) 检查输入条件是否为真,将匹配设置为 13) 首先 if 为 false 但 match 为 true,因此将焦点放在下一个输入上所以我们必须先检查匹配,这样我们才能把重点放在实际输入上
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript