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

HTML输入框禁用时仍保留值,如何通过JQuery实现禁用时自动清空数值

方案说明

实现可行性

  • 纯HTML无法实现该需求:HTML仅为标记语言,仅能定义静态的页面结构和基础表单属性,不具备监听用户交互、动态修改表单数值的逻辑能力,必须配合JavaScript实现。
  • 你当前使用jQuery可以完全实现该需求,代码不生效是语法错误导致的。

问题根因

你的代码中清空数值的写法不符合jQuery的语法规范:
错误写法:autoRefresh.find('input,select,radio').val()= null ;
jQuery的val()方法在赋值时,需要将目标值作为参数传入方法括号内,不能直接对val()的返回值做赋值操作。

修正后代码

你只需要修改对应分支的清空逻辑即可,参考代码如下:

$("input[name=live_stream]").on('click', function() {
    const autoRefresh = $('#autorefresh');
    if ($(this).val() === "No") {
        autoRefresh.show();
        autoRefresh.find('input,select,radio').prop('disabled', false);
    } else {
        const targetFields = autoRefresh.find('input,select,radio');
        targetFields.prop('disabled', true); 
        // 清空输入类字段值
        targetFields.val('');
        // 额外处理单选、复选框的选中状态(如果有这类控件可保留,没有可以删除)
        targetFields.filter('[type=radio],[type=checkbox]').prop('checked', false);
        // 可选:隐藏禁用的区块,符合常规表单交互逻辑
        autoRefresh.hide();
    }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 17:18:03