关于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); ;
        }
    }

 

转载于:https://www.cnblogs.com/DayDreamEveryWhere/p/4785631.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值