基于easyui1.3.5拓展combox

直接贡献源码,我也没找到怎么给easyui贡献源码的地方,就放这里吧。

如要转载,请注明出处。

效果如图:

 

var xzcomboxid = 1;
    $.extend($.fn.datagrid.defaults.editors, {
        xzcombox: {
            getPanelTop: function () {
                var data = $.data(this, 'cache');
                var whole = data.whole;
                var myPanel = data.myPanel;
                var top = whole.offset().top + whole._outerHeight();
                if (top + myPanel._outerHeight() > $(window)._outerHeight() + $(document).scrollTop()) {
                    top = whole.offset().top - whole._outerHeight();
                }
                if (top < $(document).scrollTop()) {
                    top = whole.offset().top + whole._outerHeight();
                }
                return top;
            },
            panelMove: function () {
                var data = $.data(this, 'cache');
                var myPanel = data.myPanel;
                var whole = data.whole;
                var top = this.getPanelTop();
                myPanel.panel("panel").css("z-index", $.fn.window.defaults.zIndex++);
                myPanel.panel("move", {left: whole.offset().left, top: top});
            },
            buildData: function () {
                var _this = this;
                var cache = $.data(this, 'cache');
                var setData = cache.setData;
                var whole = cache.whole;
                var arrow = cache.arrow;
                var opts = $.data(whole, "combobox").options;
                var myPanel = cache.myPanel;
                $.ajax({
                    type: opts.method, url: opts.url, dataType: "json", success: function (data) {
                        $.data(whole, "combobox")['data'] = data;
                        var _872 = undefined;
                        var _871 = [""];
                        var dd = [];
                        var inputId = "_xzcombo_input_" + xzcomboxid++;
                        var inputWidth = myPanel.width() - arrow.width() - 5;
                        dd.push('<div class="combobox-item">' +
                            '<input id=' + inputId + ' type="text" class="datagrid-editable-input" style="width:' + inputWidth + 'px;">' +
                            '</div>');
                        for (var i = 0; i < data.length; i++) {
                            var row = data[i];
                            var v = row[opts.valueField] + "";
                            var s = row[opts.textField];
                            var g = row[opts.groupField];
                            if (g) {
                                if (_872 != g) {
                                    _872 = g;
                                    var grow = {value: g, domId: ("_easyui_combobox_" + _86c++)};
                                    _870.groups.push(grow);
                                    dd.push("<div id=\"" + grow.domId + "\" class=\"combobox-group\">");
                                    dd.push(opts.groupFormatter ? opts.groupFormatter.call(_86e, g) : g);
                                    dd.push("</div>");
                                }
                            } else {
                                _872 = undefined;
                            }
                            var cls = "combobox-item" + (setData[v] ? " combobox-item-selected" : "");
                            row.domId = "_easyui_combobox_xz_" + xzcomboxid++;
                            dd.push('

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值