在我正在开发的项目中,我们想要为用户设置的一个约定是,当我们打开一个模态时,我们会自动聚焦打开的模态的第一个元素,它可以接受输入(无论是输入还是下拉列表。)执行此操作的jQuery代码 easy :
$firstElement.focus();
问题在于获得第一个元素。
我们的应用程序的模态有时以input
开头(例如文本,复选框,日期等),但有时会以select
开始(例如下拉菜单)。因此,获取$firstElement
有点挑战,因为我需要执行类似以下伪代码的选择:
(input, select):first
然而,根据我对CSS选择器的了解,我能够获得的最接近的是:
input:first, select:first
问题:使用CSS选择器,我能以什么方式选择一组输入和选择的第一个元素?或者,我是否需要更复杂的JavaScript实现来执行“重点关注”第一个输入'我试图做的事情?
答案 0 :(得分:4)
试试这个:
var $firstElement = $("input, select, textarea").first();
<强>附录:强>
如果您使用的是隐藏的inputs
,那么还有一种解决方法:
var $firstElement = $("input, select, textarea").filter(':visible:first');
答案 1 :(得分:1)
答案 2 :(得分:0)
select
person from
(
Select
person,
count (case when service like'Type1%' then 1 else null end) as Type1,
count (case when service like 'Type2%' then 1 else null end) as Type2
from
<your table>
group by person
) t
where
(type1 > 2 or type2 > 3)
这是我用于将焦点保持在模态中的代码的一部分。希望它有所帮助。