关于EasyUI 其他问题的解决方式先收藏,后续写demo
combobox,绑定成功后选择第一项
onLoadSuccess: function () {
var data = $('#cbCity').combobox('getData');
if (data.length > 0) {
$('#cbCity').combobox('select', data[0].id);
}
}
解决 easyui datagrid IE下合并单元格后行高变大
添加datagrid属性:autoRowHeight:false 即可
让隐藏的tab出现,大小显示正常
$("#tabs").css("display","block").tabs('resize')
EasyUI 中window dialog 组件窗体越界的处理办法
在使用EasyUI窗体的时候会出现window拖动会越界的情况,发现EasyUI本身没有办法解决这个问题。就Search了下,找到了一个兄弟提供了自己的写的方法,解决这个问题。这里记录以下,提供给给需要帮助的使用。
这里只贴解决代码,前因后果及bug修复,请访问原作者blog: http://www.easyui.info/archives/689.html
var ie = (function() { var undef, v = 3, div = document.createElement('div'), all = div .getElementsByTagName('i'); while (div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->', all[0]); return v > 4 ? v : undef; }()); /** * add by cgh * 针对panel window dialog三个组件调整大小时会超出父级元素的修正 * 如果父级元素的overflow属性为hidden,则修复上下左右个方向 * 如果父级元素的overflow属性为非hidden,则只修复上左两个方向 * @param width * @param height * @returns */ var easyuiPanelOnResize = function(width, height) { if (!$.data(this, 'window') && !$.data(this, 'dialog')) return; if (ie === 8) { var data = $.data(this, "window") || $.data(this, "dialog"); if (data.pmask) { var masks = data.window.nextAll('.window-proxy-mask'); if (masks.length > 1) { $(masks[1]).remove(); masks[1] = null; } } } if ($(this).panel('options').maximized == true) { $(this).panel('options').fit = false; } $(this).panel('options').reSizing = true; if (!$(this).panel('options').reSizeNum) { $(this).panel('options').reSizeNum = 1; } else { $(this).panel('options').reSizeNum++; } var parentObj = $(this).panel('panel').parent(); var left = $(this).panel('panel').position().left; var top = $(this).panel('panel').position().top; if ($(this).panel('panel').offset().left < 0) { $(this).panel('move', { left : 0 }); } if ($(this).panel('panel').offset().top < 0) { $(this).panel('move', { top : 0 }); } if (left < 0) { $(this).panel('move', { left : 0 }).panel('resize', { width : width + left }); } if (top < 0) { $(this).panel('move', { top : 0 }).panel('resize', { height : height + top }); } if (parentObj.css("overflow") == "hidden") { var inline = $.data(this, "window").options.inline; if (inline == false) { parentObj = $(window); } if ((width + left > parentObj.width()) && $(this).panel('options').reSizeNum > 1) { $(this).panel('resize', { width : parentObj.width() - left }); } if ((height + top > parentObj.height()) && $(this).panel('options').reSizeNum > 1) { $(this).panel('resize', { height : parentObj.height() - top }); } } $(this).panel('options').reSizing = false; }; /** * add by cgh * 针对panel window dialog三个组件拖动时会超出父级元素的修正 * 如果父级元素的overflow属性为hidden,则修复上下左右个方向 * 如果父级元素的overflow属性为非hidden,则只修复上左两个方向 * @param left * @param top * @returns */ var easyuiPanelOnMove = function(left, top) { if ($(this).panel('options').reSizing) return; var parentObj = $(this).panel('panel').parent(); var width = $(this).panel('options').width; var height = $(this).panel('options').height; var right = left + width; var buttom = top + height; var parentWidth = parentObj.width(); var parentHeight = parentObj.height(); if (left < 0) { $(this).panel('move', { left : 0 }); } if (top < 0) { $(this).panel('move', { top : 0 }); } if (parentObj.css("overflow") == "hidden") { var inline = $.data(this, "window").options.inline; if (inline == false) { parentObj = $(window); } if (left > parentObj.width() - width) { $(this).panel('move', { "left" : parentObj.width() - width }); } if (top > parentObj.height() - height) { $(this).panel('move', { "top" : parentObj.height() - height }); } } }; $.fn.window.defaults.onResize = easyuiPanelOnResize; $.fn.dialog.defaults.onResize = easyuiPanelOnResize; $.fn.window.defaults.onMove = easyuiPanelOnMove; $.fn.dialog.defaults.onMove = easyuiPanelOnMove;