Javascript 使用jQuery关注第一个可见的空选择/下拉列表
我对所需字段进行了一些验证,然后我想将重点放在第一个可见的文本区域或文本框或选择框上 下面的代码可以很好地用于textarea和textbox,但不能用于select。如何在下面的jquery语句中检查空select。任何帮助都将不胜感激Javascript 使用jQuery关注第一个可见的空选择/下拉列表,javascript,jquery,jquery-selectors,html-select,Javascript,Jquery,Jquery Selectors,Html Select,我对所需字段进行了一些验证,然后我想将重点放在第一个可见的文本区域或文本框或选择框上 下面的代码可以很好地用于textarea和textbox,但不能用于select。如何在下面的jquery语句中检查空select。任何帮助都将不胜感激 $("textarea:empty:visible,input[value='']:visible,select option[value='']:visible").first().focus(); 以下是。您可以使用.filter() 演示----->问
$("textarea:empty:visible,input[value='']:visible,select option[value='']:visible").first().focus();
以下是。您可以使用.filter()
演示
----->
问题是您试图将焦点设置在选项上,而不是选择。顺便说一句,不确定选项可以是:visible这是我的尝试,我不确定如何检查除此之外的空值。我还尝试了select:empty:visible
也select[value='']
它们也不起作用……但这将始终选择第一个下拉列表,忽略放置在下拉列表之前的空文本区域和文本框。我的意思是,如果第一个textarea和下拉列表是空的,那么焦点应该放在表单中的第一个控件上,即textarea。这非常有效!因此,我们无法像使用textarea和input那样在一行中完成这项工作:D
$("textarea:empty:visible,input[value='']:visible,select").filter(function () {
if ($(this).is('select')) {
if (this.value === "") {
return true;
} else {
return false;
}
} else {
return true;
}
}).first().focus();