You need to enable JavaScript to run this app. 如何根据指定ID输入框的数值变化控制对应DIV的显示与隐藏?
优惠活动
大模型
产品
解决方案
定价
更多

如何根据指定ID输入框的数值变化控制对应DIV的显示与隐藏?

enter image description here

实现方案

你可以通过以下两种方案实现需求,二选一即可:

方案1:修改现有calculate函数

你的输入框已经绑定了onchange="calculate(this.form)"事件,直接在该函数内部添加如下逻辑即可:

// 读取输入框数值转整数,非法值默认按0处理
const attendeeNum = parseInt(document.getElementById('tix_quantity2').value, 10) || 0;
// getElementById不需要加#前缀
const infoArea = document.getElementById('lo-EventPreferenceTitle');

if (attendeeNum >= 1) {
  // 如果区块默认显示属性不是block,替换为对应值即可,比如flex、inline-block
  infoArea.style.display = 'block';
} else {
  infoArea.style.display = 'none';
}

方案2:单独绑定事件监听(无需改动原有calculate函数)

直接在页面任意位置添加如下JS代码即可,页面加载时会自动初始化显示状态,同时支持输入实时响应:

document.addEventListener('DOMContentLoaded', function() {
  const quantityInput = document.getElementById('tix_quantity2');
  const infoBlock = document.getElementById('lo-EventPreferenceTitle');

  function updateDisplay() {
    const count = parseInt(quantityInput.value, 10) || 0;
    infoBlock.style.display = count >= 1 ? 'block' : 'none';
  }

  // 初始化页面加载时的显示状态
  updateDisplay();
  // 输入框失焦时触发
  quantityInput.addEventListener('change', updateDisplay);
  // 输入时实时触发,不需要实时效果可以删除这行
  quantityInput.addEventListener('input', updateDisplay);
});

注意事项

  • 仅目标输入框#tix_quantity2的数值变化会触发显示逻辑,其他输入框不受影响,符合需求
  • 如果区块需要过渡动画,可以替换style.display的修改为添加/移除隐藏类,交互体验更流畅

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 01:06:03