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

使用JavaScript根据checkbox勾选状态控制textarea显隐的问题求助

核心问题

  • 控制textarea显隐的逻辑仅在点击Others选项时才会执行,点击其他普通理由选项时,不会触发隐藏textarea的相关代码,这是最主要的原因
  • 事件绑定的选择器逻辑冗余,而且你使用的是原生互斥的radio单选框,不需要手动编写切换checked状态、修改value值的代码,多余逻辑反而容易引发异常

修复方案

直接监听所有理由单选框的change事件,只要选项切换就判断当前选中项是否为Others,再控制textarea显隐即可,修复后的代码如下:

$(document).ready(function(){
  // 给所有理由单选框绑定change事件
  $("#cancel-reasons input[name='reason-check']").on('change', function() {
    // 选中的是Others选项就显示输入框,否则隐藏
    if ($(this).hasClass('other-reason-checkbox') && $(this).is(':checked')) {
      $("#other-reason-textarea").removeClass("hidden");
    } else {
      $("#other-reason-textarea").addClass("hidden");
    }
  });
});

这个方案省去了冗余的遍历、手动控制单选状态的逻辑,直接利用radio本身的互斥特性,性能和可维护性都更好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 08:24:04