• 关于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); ;
            }
        }
  • 相关阅读:
    【浅谈数位计数一类问题】
    2.2、idea 中写spark sql
    javascript事件之鼠标滚轮(mousewheel)和DOMMouseScroll事件
    JS 判断鼠标滚轮的上下滚动
    gulp 用法 小结
    'gulp'不是内部或者外部命令,也不是可运行的程序
    Gulp的安装与配置
    前端构建工具gulpjs的使用介绍及技巧
    【转】弧度和角度的转换
    前端构建工具gulpjs的使用介绍及技巧
  • 原文地址:https://www.cnblogs.com/DayDreamEveryWhere/p/4785631.html
Copyright © 2020-2023  润新知