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

JavaScript实现复选框控制元素显隐功能页面加载时不生效如何解决

问题原因&修复方案

1 你之前的CSS方案失效的两个核心原因

  • CSS选择器ID写错:你CSS里写的是#show-presell-text(横杠连接),但实际元素ID是show_presell_text(下划线连接),选择器不匹配自然不生效
  • 目标div重复定义了class属性:你写的<div class="row" id="show_presell_text" class="xxx">同一个标签写了两次class,浏览器只会识别第一个class="row",后面的动态class判断会被直接忽略

2 推荐解决方案(兼容后端数据判断+JS逻辑,不依赖纯CSS)

你已经写了presellTXT()函数可以直接根据复选框状态控制显示隐藏,只需要在页面加载完成后主动调用一次这个函数即可,不用额外写CSS:

// 页面DOM加载完成后执行
document.addEventListener('DOMContentLoaded', function() {
  presellTXT();
});

这样不管后端返回的$product->prd_presell是勾选还是未勾选状态,页面加载后都会自动执行你写的判断逻辑,自动控制文本输入框的显隐,完全匹配你的需求。


3 如果要修复CSS方案也可以这么改

首先修正CSS选择器:

#show_presell_text.hidden {
    display: none !important;
}

然后修正div的class写法,把两个class合并:

<div class="row @if(!empty($product) && $product->prd_presell != 'TRUE') hidden @endif" id="show_presell_text">

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 00:15:07