无法使用Jquery动态检查和禁用复选框

时间:2018-08-13 09:38:55

标签: php jquery

我正面临一个问题。我需要使用Jquery和PHP根据数据库值选中/禁用复选框,但无法选中/禁用。我在下面解释我的代码。

$.ajax({
            url:"exam_zone_mapping_db.php",
            mType:"get",
            data:centre_data,
            success:function(response)
            {  //alert(response);
                var options = "<div class='col-md-4'><label class='checkbox-inline'><input type='checkbox' id='allcentre' onclick='checkAll(this.id)'><strong>Select All</strong></label></div>";                   
                var res1 = JSON.parse(response);                    
                $.each(res1.aaData,function(i,data)
                { 
                    options = options + "<div class='col-md-4'><label class='checkbox-inline'><input type='checkbox' name='chkCentre[]' data-label='"+data.exam_centre_name+"' id='chkCentre"+data.id+"' value='"+data.exam_centre_code+"'>"+data.exam_centre_name+" ("+data.exam_centre_code+")</label></div>";
                });
                $('#examCentreGroup').html("");   
                $('#examCentreGroup').append(options);  
                $('#examCentreGroup').html(options)
                .selectpicker('refresh');
            },
            error:function()
            {
                alert("We are unable to Process.Please contact Support");
            }
        });
        var dis_data={
            zone:zone,
            examGroup:examGroup,
            type:"CHECK_CENTRE",
            _s:session
        };
        //alert(zone);
           //ajax call to server
        $.ajax({
            url:"exam_zone_mapping_db.php",
            mType:"get",
            data:dis_data,
            success:function(result)
            {  
                obj = jQuery.parseJSON(result);
                console.log('obj',obj);
                if($("input[name='chkCentre[]']").length==obj.length){
                    $("#allcentre").prop('disabled', true);
                }
                $.each(obj,function(i,data)
                {
                    //console.log('data',data);
                    $("input[name='chkCentre[]']").each(function(){
                        if ($(this).val() ==  data) {
                            console.log('data',$(this).val(),data);
                            $(this).attr('checked', true);
                            $(this).prop('disabled', true);
                        }else{
                            $(this).attr('checked', false);
                            $(this).prop('disabled', false);
                        }
                    })
                });

            },
            error:function(){
                toastr.error('Unable to Process Please Contact Support');
            }
        });

在这里,根据数据库中的数据,我需要选中复选框,但它根本没有发生。在这里,我需要每次进行ajax调用时,都将从db中获取数据,并且根据db值,将选中/禁用这些复选框。

0 个答案:

没有答案