AJAX返回的html或者是js定义的html无法做到自动渲染为EasyUI的样式。比如:class="easyui-linkbutton" 等,虽然我们可以对应执行代码来渲染它,但前提是你得知道它是什么控件,比如:
$("body").append('确定按钮');//生成控件html
$("#a").linkbutton();//渲染
但是假如控件不确定时就不能使用以上方法,我们可以为其扩展一个方法。
(function ($) {
$.parser = {
auto:true,
plugins:['linkbutton', 'menu', 'menubutton', 'splitbutton', 'layout','tree', 'window', 'dialog', 'datagrid','combobox', 'combotree', 'numberbox', 'validatebox','calendar', 'datebox', 'panel', 'tabs', 'accordion'],
parse:function (context) {
if ($.parser.auto) {
for (var i = 0; i
(function () {
var name = $.parser.plugins[i];
var r = $('.easyui-' + name, context);
if (r.length) {
if (r[name]) {
r[name]();
} else if (window.easyloader) {
easyloader.load(name, function () {
r[name]();
})
}
}
})();
}
}
}
};
})(jQuery);
这样当某些html增加后就可调用$.parser.parse(context)来渲染控件。context 为待查找的 DOM 元素集、文档或 jQuery 对象,为空时默认为整个文档
关键词: jquery easyui,ajax,控件渲染 编辑时间: 2013-09-10 10:57:49