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

Angular中实现双输入框(姓/名)有内容时自动勾选CheckBox

实现输入框与CheckBox联动的两种场景

场景1:单个输入框内容联动CheckBox

当输入框有内容时自动勾选CheckBox,无内容则取消勾选,核心是监听输入框的输入事件,实时判断内容状态:

<!-- HTML结构 -->
<input type="text" id="singleInput" placeholder="输入内容">
<input type="checkbox" id="singleCheckbox" disabled>
// JavaScript逻辑
const singleInput = document.getElementById('singleInput');
const singleCheckbox = document.getElementById('singleCheckbox');

singleInput.addEventListener('input', () => {
  // 排除纯空格的情况,仅当有实际内容时勾选
  singleCheckbox.checked = singleInput.value.trim() !== '';
});

给CheckBox添加disabled属性是为了避免用户手动修改状态,确保状态完全由输入框内容控制。

场景2:两个输入框同时有内容才勾选CheckBox

只有当名字、姓氏两个输入框都填写了非空内容时,才勾选CheckBox,否则保持未勾选:

<!-- HTML结构 -->
<input type="text" id="firstName" placeholder="名字">
<input type="text" id="lastName" placeholder="姓氏">
<input type="checkbox" id="doubleCheckbox" disabled>
// JavaScript逻辑
const firstName = document.getElementById('firstName');
const lastName = document.getElementById('lastName');
const doubleCheckbox = document.getElementById('doubleCheckbox');

// 封装统一的检查逻辑
function checkBothInputs() {
  const hasValidFirstName = firstName.value.trim() !== '';
  const hasValidLastName = lastName.value.trim() !== '';
  doubleCheckbox.checked = hasValidFirstName && hasValidLastName;
}

// 两个输入框内容变化时都触发检查
firstName.addEventListener('input', checkBothInputs);
lastName.addEventListener('input', checkBothInputs);

任意一个输入框的内容发生变化时,都会重新校验两个输入框的状态,只有两者都满足非空条件,CheckBox才会被勾选。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 20:51:13