发布于 2014-12-05 08:24:33 | 3075 次阅读 | 评论: 1 | 来源: 网友投递
EasyUI jQuery UI插件
jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签。
错误描述:
经常看到有datagrid控件的页面出现length的js错误【 'length' 为空或不是对象】,查找半天又找不到原因,使劲的在看是不是datagrid的js配置有问题,结果发现改死了也没用。
原因分析:
删掉datagrid的初始化js,后果然不出现这个js问题了,问题集中在datagrid中,
打开js调试
看到
var _717=["<table class=\"datagrid-btable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"];
for(var i=0;i<rows.length;i++){
var css=opts.rowStyler?opts.rowStyler.call(_712,i,rows[i]):"";
var _718="";
var _719="";
if(typeof css=="string"){
_719=css;
}else{
if(css){
_718=css["class"]||"";
_719=css["style"]||"";
}
}
罪魁祸首就是这个rows.length
打开监视看看rows,发现没定义
在往上找找看看rows怎么定义的
那看看_715.data是个怎么样子,
里面只有一个total,而且还是NaN,
解决方法:
看见这个total和rows,想到了,要到代码里要给datagrid设置total和rows的,回想到之前没找到数据的是时候没设置这两玩意,
设置这2参数后,就一起正常啦。