我正在尝试将输入字段集中到与另一个输入匹配的 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; } }});但是使用这段代码,我关注下一个输入(第二个输入)。它不起作用。有什么想法可以改进我的代码吗?
1 回答
明月笑刀无情
TA贡献1828条经验 获得超4个赞
你应该把你的注意力放在if首先检查的地方,match比如
代替
if(input[i].value == $("#btnSearch > input").val()) {
match = 1;
}else if (match==1) {
input[i].focus();
break;
}
你应该写
if(match==1) {
input[i].focus();
break;
}else if (input[i].value == $("#btnSearch > input").val()) {
match = 1;
}
说明:
你的代码在做什么
1) 检查参考输入的条件,将匹配设置为 1,因为它是真的,
2) 检查输入条件是否为真,将匹配设置为 1
3) 首先 if 为 false 但 match 为 true,因此将焦点放在下一个输入上
所以我们必须先检查匹配,这样我们才能把重点放在实际输入上
添加回答
举报
0/150
提交
取消