关于JQuery设置checkbox checked 的问题
近日做一个关于JQuery表单验证,有一个比较奇葩的要求,即checkbox是为必填项,textbox不是必填的。
而checkbox与textbox又是相关的,填写了textbox,则其上方的checkbox即相当于勾选。在使用中,用户很容易只注意到textbox,忽视checkbox,而不勾选,造成验证不通过。
所以想通过程序,在验证之前先判断textbox是否有值,如果有值,则自动勾选checkbox,再进行验证。
最初的代码如下:
if ($("#ZYAreaBC").val() != null) { if ($("#ZYAreaBC").val() != "") { $("#ChkSYBC").attr("checked", true); } } if ($("#ZYElseBC").val() != null) { if ($("#ZYElseBC").val() != "") { $("#ChkHBBC").attr("checked", true); } }
调试过程中,出现很奇怪的异常,该项不一定通过验证,且checkbox的状态一直是未选中的状态。但是再调试过程中查看checkbox的值,是有值的。
本以为是JQuery无法验证通过代码设置的值,再谷歌不正常的情况下到处找资料,终于发现是checkbox设置值的问题,JQuery1.6之后,使用如下代码设置
checkbox的的选中与否
$('.myCheckbox').prop('checked', true); $('.myCheckbox').prop('checked', false);
参考如下帖子:http://stackoverflow.com/questions/426258/checking-a-checkbox-with-jquery
修改代码,修改后调试正常通过
if ($("#ZYAreaBC").val() != null) { if ($("#ZYAreaBC").val() != "") { $("#ChkSYBC").prop('checked', true); ; } } if ($("#ZYElseBC").val() != null) { if ($("#ZYElseBC").val() != "") { $("#ChkHBBC").prop('checked', true); ; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)