码迷,mamicode.com
首页 > 其他好文 > 详细

Easyui使用记录

时间:2015-08-06 22:09:23      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:

我没有很长JS该。通常让兄弟们去获得,但是我遇到了几天Easyui的timespinner使用问题,节能控制值之后动态加载数据,日期部分也将显示。兄弟调试了很长时间也没有发现问题。不可能,刚刚好硬着头皮,周边JS(写我们自己的)没有发现问题。我会怀疑Easyui问题。码是经过混乱了的,但无办法,仅仅有硬上,经过调试分析发现其异步载入时没有对 timespinner类型的控件做格式化处理。假设服务端来的是时间格式带日期,则会直接显示出来。

问题找到改就easy了。记录下来,希望以后实用:

function load(_417, data) {
    if (!$.data(_417, "form")) {
        $.data(_417, "form", { options: $.extend({}, $.fn.form.defaults) });
    }
    var opts = $.data(_417, "form").options;
    if (typeof data == "string") {
        var _418 = {};
        if (opts.onBeforeLoad.call(_417, _418) == false) {
            return;
        }
        $.ajax({ url: data, data: _418, dataType: "json", success: function (data) {
            _419(data);
        }, error: function () {
            opts.onLoadError.apply(_417, arguments);
        } 
        });
    } else {
        _419(data);
    }
    function _419(data) {

        var form = $(_417);
        for (var name in data) {
            var val = data[name];
            var rr = _41a(name, val);
            if (!rr.length) {
                var f = form.find("input[numberboxName=\"" + name + "\"]");
                if (f.length) {
                    f.numberbox("setValue", val);
                } else {
                    $("input[name=\"" + name + "\"]", form).val(val); //一般的timespinner在这里进行赋值
                    $("textarea[name=\"" + name + "\"]", form).val(val);
                    $("select[name=\"" + name + "\"]", form).val(val);
                }
            }
            _41b(name, val);
        }
        opts.onLoadSuccess.call(_417, data);
        _41e(_417);
    };
    function _41a(name, val) {
        var rr = $(_417).find("input[name=\"" + name + "\"][type=radio], input[name=\"" + name + "\"][type=checkbox]");
        rr._propAttr("checked", false);
        rr.each(function () {
            var f = $(this);
            if (f.val() == String(val) || $.inArray(f.val(), val) >= 0) {
                f._propAttr("checked", true);
            }
        });
        return rr;
    };
    //这个地方尽管能够调用客户化的setValue,但timespinner不在其列
    function _41b(name, val) {
        var form = $(_417);
        debugger;
        var cc = ["combobox", "combotree", "combogrid", "datetimebox", "datebox", "combo"];
        var c = form.find("[comboName=\"" + name + "\"]");
        if (c.length) {
            for (var i = 0; i < cc.length; i++) {
                var type = cc[i];
                if (c.hasClass(type + "-f")) {
                    if (c[type]("options").multiple) {
                        c[type]("setValues", val);
                    } else {
                        c[type]("setValue", val);
                    }
                    return;
                }
            }
        }
    };
};


改动就非常easy了,仅仅要让程序去调用自己扩展的格式化方法就可以,也能够在里面直接处理一下。

当然,假设你server数据本身只回兼职。你不会遇到这种问题。


版权声明:本文博客原创文章。博客,未经同意,不得转载。

Easyui使用记录

标签:

原文地址:http://www.cnblogs.com/bhlsheji/p/4709132.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!