本文介绍如何使用 jquery 根据“是否目击跌倒”单选按钮的初始值及用户操作,动态控制“其他说明”输入框所在 div 的显隐状态,并确保页面加载时即按数据正确初始化。
在表单开发中,常需实现「条件显示」逻辑:仅当用户选择特定选项(如 "Sim")时,才展示关联的补充字段(如文本输入框)。本例中,目标是——页面加载时依据 data 中的 Queda 值自动勾选对应单选按钮,并立即显示/隐藏 #quedpresss 区域;同时,后续用户手动切换选项时,该区域也应实时响应。
核心要点有三:
以下是优化后的完整代码(含注释与健壮性增强):
$(document).ready(function() {
var data = [
{ Queda: "Sim", Outro: "Teste1" }
];
// 取第一条数据(若有多条,可遍历处理)
var item = data[0];
var Queda = item.Queda;
var Outro = item.Outro;
// 初始化单选状态 & 关联区域显隐
if (Queda === "Sim") {
$('#quedpresa').prop('checked', true);
$('#quedpresss').show(); // 显示“Outro”输入区
} else if (Queda === "Não") {
$('#quedpresa1').prop('checked', true);
$('#quedpresss').hide(); // 隐藏“Outro”输入区
}
// 绑定用户交互事件(注意:使用 .on() 更安全,避免重复绑定)
$('input[name="quedpresa"]').on('change', function() {
if ($(this).val() === "Sim") {
$('#quedpresss').show();
} else {
$('#quedpresss').hide();
}
});
// 设置输入框值
$('#quedpressa1').val(Outro);
});
通过以上方案,即可实现清晰、可维护、用户体验一致的条件显示逻辑。