本文介绍使用 jquery 实现“当用户在输入框中输入文本时,自动禁用下拉菜单中相同文本的选项”,支持实时响应(keyup + change),兼顾大小写敏感性与空值处理。
在表单交互开发中,常需避免用户在输入框和下拉框中重复选择同一值(例如:手动输入“New”后,下拉中“New”选项应不可选)。jQuery 提供简洁高效的 DOM 操作能力,可轻松实现该逻辑。
以下代码监听 .typeVal 输入框的 keyup 和 change 事件,获取当前输入值,并遍历 #select2 下所有
$('.typeVal').on('keyup change', function() {
const inputVal = $(this).val().trim(); // 去除首尾空格,提升健壮性
$('#select2 option').prop('disabled', function() {
return $(this).text().trim() === inputVal;
});
});? 注意:使用 === 进行严格相等判断,避免类型隐式转换导致误判;.trim() 防止空格干扰匹配。
✅ 效果演示:
return $(this).text().trim().toLowerCase() === inputVal.toLowerCase();

$('.typeVal').trigger('change');通过这一简洁而鲁棒的 jQuery 逻辑,你能在不修改 HTML 结构的前提下,快速实现输入与下拉联动的约束控制,显著提升表单的友好性与数据一致性。