问题解决提高

easyui中文API地址(避免踩坑):http://www.92ui.net/

1.在拼接字符串往某一个元素中填充时,easyui的格式会不起作用。

例如:

动态添加easyui控件<input class=" easyui-textbox" > 这样是无效的,因为easyui没有实时监控,所以必须动态渲染$.parser.parse();

如下一段代码就用到了这个:

            tes.ajax.get(urls.getBtn, null, function (result) {
                if (result.Success) {
                    var data = result.Value;
                    var fileName = data.files;
                    var data1 = "";
                    for (var j = 0, len = fileName.length; j < len; j++) {
                        if (fileName[j].OriginalPath != "Thumbs.db") {
                            data1 += "<img class=\"easyui-linkbutton easyui-tooltip         tooltip-f l-btn l-btn-small\" style=\"margin-top:1px;display:'inline'\" onclick=\"imgClick(this,'" + fileName[j].OriginalPath+"')\" src=\"/Scripts/jquery-easyui-1.8.5/themes/iconsExtension/" + fileName[j].OriginalPath + "\" />";                        }
                        //var icon = fileName[j].OriginalPath;
                        //icon = "icon-" + icon.replace(".png", " ");
                        //data1 += "<a class=\"easyui-linkbutton\" style=\"margin-top:1px;display:'inline'\" onclick=\"imgClick(this,'" + fileName[j].OriginalPath + "')\" data-options=\"plain: true, iconCls: '" + icon + "'\" />";

                    }
                    $("#@ViewBag.PageId-toolbar").html(data1);
                    $.parser.parse($("#@ViewBag.PageId-toolbar").html(data1));  
                }
            });

2.点击事件中传递的值为【Object,Object】类型的参数,但在点击事件中获取不到。

JSON.stringify() 方法将一个 JavaScript 值(对象或者数组)转换为一个 JSON 字符串,如果指定了 replacer 是一个函数,则可以选择性地替换值,或者如果指定了 replacer 是一个数组,则可选择性地仅包含数组指定的属性。

例如在我拼接字符串的时候,给button动态加点击事件:

                                    if ((j != 1 && (j + 1) % 4 == 0) || j == len1 - 1 || j == 3) {
                                        indexStr += "<button id=\"" + data[i].children[j].id + "\" iconCls=\"icon-" + cc + "\" onclick='moduleClick(" + JSON.stringify(data[i].children[j]) + ")' plain=\"true\" class=\"easyui-linkbutton\" style=\"border-color:#ddd;border-width:1px;border-style:solid;margin:10px 0 10px 0;background-color:rgba(245,245,245,1);color:black;width:22%;height:30px;margin-left:3%\">" + data[i].children[j].text + "</button></br>";
                                    } else {
                                        indexStr += "<button id=\"" + data[i].children[j].id + "\" iconCls=\"icon-" + cc + "\" plain=\"true\" onclick='moduleClick(" + JSON.stringify(data[i].children[j]) + ")' class=\"easyui-linkbutton\" style=\"border-color:#ddd;border-width:1px;border-style:solid;margin:10px 0 10px 0;background-color:rgba(245,245,245,1);color:black;width:22%;height:30px;margin-left:3%\">" + data[i].children[j].text + "</button>";
                                    }

3.登录验证的时候,实现回车提交。

代码如下:

            $(document).keyup(function (event) {
                if (event.keyCode == 13) {
                    page.submit();
                }
            });

https://www.cnblogs.com/shipengzhi/articles/2035010.html

上面链接为event.keyCode用法及列表

4.easyui-checkbox选取不到选中状态

用js获取easyui格式的checkbox,$("#PasswordGeneration").is(":checked");不管用。

下面这种方法可以获取easyui格式的复选框选中状态(现获取组件属性,在获取是否选中):

$("#PasswordGeneration").checkbox("options").checked;

下面可以参考官方文档:(http://www.92ui.net/

5.滚动条滚动到指定位置。

场景:(根据左面手风琴点击的标签,滚动条自动到达右边相应的模块高度)

具体代码实现:

            $('#accordion-menu').accordion({
                onSelect: function (title, index) {
                    var pp = $('#tabs').tabs('getSelected');
                    var tab = pp.panel('options').title;
                    if (tab == "首页") {
                        //由于首页内的内容拼接字符串填充,每次点击$("#DcManagement").offset().top都会改变
                        //$("#xx").animate({ scrollTop: $("#DcManagement").offset().top 360 }, 500);
                        if (title == "铸造车间") {
                            $("#xx").animate({ scrollTop: 360 }, 500);
                        } else if (title == "铝加工车间") {
                            $("#xx").animate({ scrollTop: 900 }, 500);
                        } else if (title == "带轮车间") {
                            $("#xx").animate({ scrollTop: 1700 }, 500);
                        } else if (title == "组装车间") {
                            $("#xx").animate({ scrollTop: 2450 }, 500);
                        } else if (title == "ECVT组装车间") {
                            $("#xx").animate({ scrollTop: 3100 }, 500);
                        } else if (title == "齿轮车间") {
                            $("#xx").animate({ scrollTop: 3650 }, 500);
                        } else if (title == "物流管理车间") {
                            $("#xx").animate({ scrollTop: 4450 }, 500);
                        } else if (title == "嵌合实绩") {
                            $("#xx").animate({ scrollTop: 4600 }, 500);
                        } else if (title == "制造管理科" | title == "权限管理" | title == "系统管理") {
                            $("#xx").animate({ scrollTop: 4800 }, 500);
                        } else {
                            $("#xx").animate({ scrollTop: 0 });
                        }

                    }


                }
            });

*本来是想直接对应到id的高度,但每次高度都不准确,只好用固定的高度来设置。

完善:(后续找到了用父类的scrollTop - 要确定的位置的offset().top 来确定位置)

先将传过来的数据中的id和text封装到cookie中,,在根据点击的title即text找到对应的id,判断其相对高度(部分代码)

 tes.ajax.get(urls.UserModules, null, function (result) {
                if (result.Success) {
                    var data = result.Value;
                    $.each(data, function (index, item) {
                        //封装到cookie中
                        $.cookie(item.text, item.id);
                        var icon = item.attributes.icon;
                        if (icon) {
                            icon = "icon-" + icon.replace(".png", " ");
                        }
                        $('#accordion-menu').accordion('add', {
                            title: item.text,
                            iconCls: icon,
                            selected: false,
                            content: ' <ul id="tree-' + item.id + '"></ul>'
                        });

                        // 解析整个页面
                        //$.parser.parse();
                        // 第二层生成树节点
                        if (!item.children || item.children.length == 0) {
                            return true;
                        }

                        $("#tree-" + item.id).tree({
                            data: item.children,
                            onClick: moduleClick
                        });
                    });
            $('#accordion-menu').accordion({
                onSelect: function (title, index) {
                    var pp = $('#tabs').tabs('getSelected');
                    var tab = pp.panel('options').title;
                    if (tab == "首页") {
                        var xxTop = $('#xx').scrollTop();
                        var cid = $("#" + $.cookie(title)).offset().top;
                        if (xxTop == 0) {
                            $("#xx").animate({ scrollTop: cid - 100 }, 500);
                        } else {
                            $("#xx").animate({ scrollTop: xxTop + cid -100 }, 500);
                        }
                    }
                }
            });

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值