• 关于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次。

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

  • 相关阅读:
    【整理】Web页面防止重复提交
    C#域验证的代码
    【整理】delegate+RemotingServices 委托+远程调用的一个实例
    【转载】框架里跨域Session丢失问题
    转贴:谈谈多线程的思维方式
    list,vector,deque有什么区别
    转贴:.NET多线程编程(3):线程同步
    转贴:.NET多线程编程(1):多任务和多线程
    转贴:.NET多线程编程(2):System.Threading.Thread类
    转贴:.NET多线程编程(4):线程池和异步编程
  • 原文地址:https://www.cnblogs.com/IWantPower/p/5984328.html
Copyright © 2020-2023  润新知