Check/uncheck 复选框取决于来自数据库的数据

Check/uncheck checkbox depend on data come from database

我正在尝试根据 mysql 数据库中的数据选中或取消选中复选框。我使用nusoap webservice/webclient读取数据,数据值可以是1或0。

我的代码是:

<input name="check1" type="checkbox" id="check1" class="sag">
<script>
    function control() {

        $.ajax({
            type: "POST",
            url: "check.php",
            data: {
                checkdata: 1
            },
            success: function(asd) {
                if (asd == '1') {
                    document.getElementById('check1').setAttribute("checked", true);


                    alert('data is 1');

                } else {
                    document.getElementById('check1').removeAttribute("checked");

                    alert('data is 0');
                }
            }
        });

    }
</script>

<body onload="control()">

使用此代码我可以正确地从数据库中获取数据并且 alert() 工作正常。但是这些代码不会将 checked 属性添加到复选框。如何根据页面加载时来自数据库的数据更改复选框的检查状态?

既然您已经在使用 jQuery 为什么不使用 jQuery 方法来设置所需的值。

function control(){
      $.ajax({
          type: "POST",
          url: "check.php",
          data: {checkdata: 1},
          success: function(asd){
             $('#check1').prop("checked", asd == '1');
          }
      });

  }