关于checkbox选中问题

function Update(mid) {
            //alert(mid[0]);
            //alert(mid.length);
            $.ajax({
                type: "post",
                url: "/Ajax/GetAllManagerJSON.ashx?datenow=" + (new Date),
                cache: true,
                dataType: "json",
                async: false,
               success: function (data) {
                    var html='',c=0;
                    for (var i = 0; i < data.length; i++) {
                        c=0;
                        for(var j=0;j<mid.length;j++){
                            if (mid[j]==data[i].ManagerID) {
                                c=1;
                                html +='<ul><li><input type="checkbox" name="checkbox" value="'+data[i].ManagerID+'" class="qubie_x" checked="checked" /><span>'+data[i].ManagerName+'</span></li></ul>';
                            }
                        }
                        if (c==0) {
                            html +='<ul><li><input type="checkbox" name="checkbox" value="'+data[i].ManagerID+'" class="qubie_x" /><span>'+data[i].ManagerName+'</span></li></ul>';
                        }
                    }
                    $('#fqx').html(html);
                }

 

 

  function GetEManagerID(EquipMentID) {
            $.ajax({
                type: "post",
                url: "/Ajax/GetManagerByEquipMentIDJson.ashx?datenow=" + (new Date)+"&EquipMentID="+EquipMentID,
                cache: true,
                dataType: "json",
                async: false,
                success: function (html1) {
                    //查出为null时 无数据
                    if (html1 == "0") {
                        Update(0);
                    }
                    else {
                        var mid = Array();  
                        for (var i = 0; i < html1.length; i++) {
                            mid.push(html1[i].ManagerID)
                        }
                        Update(mid);
                    }
                }
            })
            layer.open({
                type: 1,
                area: ['500px', '400px'],
                shadeClose: false, //点击遮罩关闭
                content: $('#shujuNei'),
                btn: ['确定', '取消'],
                yes:function (index) {
                    //获取并传递管理员ID
                    var checkValue = '';
                    $('input[name="checkbox"]:checked').each(function (i) {
                        if(0==i){  
                            checkValue = $(this).val();  
                        }else{  
                            checkValue += (","+$(this).val().toString());  
                        }
                    });
                    window.location="/Manager/Admin_EquipMent_Manager.aspx?action=add&EquipMentByID="+EquipMentID+"&ManagerID="+checkValue;
                    layer.close(index);
                }
            });

 

其中做的过程中被  UpData方法中 if 条件 只进去一次 困惑了很久。

查证:  如果在  $.ajax 的  success  里面添加  for 并 又需要在for中执行多次方法且该方法中又包含$.ajax时 会出现上诉错误

原因:$.ajax 没有 for  处理迅速 并调试的时候确实发现那样会给我类似延迟的感觉!- -  当第二个 for循环执行完后 才会再执行 第一个for的二次循环

但用alert  的在第二个ajax for if 一下弹出的时候 确实弹出了 12次。

百度了一下  说这样写会发生更大的不可预知错误(本来弱鸡也不知道网上大神说的到底是啥子意思反正不能实现上述功能)

posted @ 2016-10-21 13:38  IWantPower  阅读(269)  评论(0编辑  收藏  举报