本文介绍如何使用 jquery 实现 `
在表单交互开发中,常需让不同控件(如下拉框与复选框)保持状态一致。本例中,目标逻辑明确:
使用 .change() 事件替代 .blur() / .click(),确保状态变更时机准确;通过 val() 获取/设置 select 值,用 prop('selected', true) 精准控制选项选中状态:
$(function() {
const $select = $('#test-1');
const $checkbox = $('#test-2');
// select 变更时:同步 checkbox 状态
$select.on('change', fun
ction() {
const val = $select.val();
$checkbox.prop('checked', ['Yes', 'Maybe'].includes(val));
});
// checkbox 变更时:仅当取消勾选,才重置 select 到 null 项
$checkbox.on('change', function() {
if (!$(this).is(':checked')) {
$select.find('option[value="null"]').prop('selected', true);
}
});
});Select YES or MAYBE to auto-check the box.
Test 1:
Test 2: Status will appear here
✅ 小技巧:$select.val('null') 比 $select.find('option[value="null"]').prop('selected', true) 更简洁且等效——jQuery 的 .val() 在 上会自动匹配并选中对应 value 的 ,推荐优先使用。
通过以上方案,即可实现健壮、可维护、符合语义的双向联动,彻底规避因误操作 DOM 属性导致的界面异常问题。