You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过JS或CSS为选中选项后显示的隐藏输入框设置焦点

解答

首先明确:纯CSS无法实现元素自动获焦的需求。CSS仅负责控制元素样式,没有操作DOM交互状态(比如焦点)的能力,你现有代码已经引入了jQuery,只需要添加1行极简单的JS代码就能实现效果,学习成本很低。

具体实现方法

你只需要在控制文本输入框显示的代码逻辑后,调用jQuery的focus()方法即可。
结合你贴出的现有代码,当选择Individual选项时会操作#personSubmittedByValue输入框,你可以直接把聚焦逻辑追加到这个判断分支里:

if ($("#frmSubmittedValue").val() == '') {
  return false;
}

if ($("#frmSubmittedValue").val() == 'Individual') {
  $("#personSubmittedByValue").val('');
  // 这是你原本控制输入框显示的代码,保留在原有位置即可
  $("#personSubmittedByValue").show();
  // 新增下面这行,输入框显示后会自动获得焦点
  $("#personSubmittedByValue").focus();
}
  
if ($("#frmProjectSub").val() == 0) {
  return false;
}

补充说明

  • 如果你不是用.show()控制显隐,而是通过切换CSS类(比如移除hidden类、添加show类)的方式显示输入框,只需要把.focus()的调用放在你切换类名的代码之后即可,逻辑完全一致
  • 不要尝试用CSS:focus伪类实现该效果,:focus只能给已经获得焦点的元素添加样式,无法主动触发元素聚焦
  • 必须等输入框从隐藏状态切换为显示状态后再调用focus(),否则聚焦不会生效

内容的提问来源于stack exchange,提问作者tillymonstar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 01:27:24