Jqgrid 设置错误 - this.p 未定义
Jqgrid setup error - this.p is undefined
我是第一次尝试设置 jqgrid,我的 js 导入如下,
<link rel="stylesheet" type="text/css" media="screen" href="css/jquery-ui-1.8.12.custom.css" />
<link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" />
<link rel="stylesheet" type="text/css" media="screen" href="css/ui.multiselect.css" />
<script src="http://code.jquery.com/jquery-1.5.2.min.js" type="text/javascript"></script>
<script src="js/jquery.jqGrid.min.js" type="text/javascript"></script>
<script src="js/jquery-ui-1.8.12.custom.min.js" type="text/javascript"></script>
<script src="js/jquery.contextmenu.js" type="text/javascript"></script>
<script src="js/jquery.searchFilter.js" type="text/javascript"></script>
<script src="js/jquery.tablednd.js" type="text/javascript"></script>
<script src="js/ui.multiselect.js" type="text/javascript"></script>
<script src="js/grid.loader.js" type="text/javascript"></script>
我收到一个错误,说"this.p 在第 137 行中未定义"。我不确定我是否缺少一些导入。对此的任何想法都会很棒。
谢谢阿比
@The奥列格的评论后更正了导入,
<link rel="stylesheet" type="text/css" media="screen" href="css/jquery-ui-1.8.12.custom.css" />
<link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" />
<script src="js/jquery-1.5.2.min.js" type="text/javascript"></script>
<script src="js/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="js/jquery.jqGrid.min.js" type="text/javascript"></script>
<script src="js/jquery-ui-1.8.12.custom.min.js" type="text/javascript"></script>
似乎仍然不起作用:(
修改后的完整代码:
<html>
<head>
<title>.: Sample :.</title>
<link rel="stylesheet" type="text/css" media="screen" href="css/jquery-ui-1.8.12.custom.css" />
<link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" />
<script src="js/jquery-1.5.2.min.js" type="text/javascript"></script>
<script src="js/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="js/jquery.jqGrid.min.js" type="text/javascript"></script>
<script src="js/jquery-ui-1.8.12.custom.min.js" type="text/javascript"></script>
<script>
/*if ($()) {
}*/
$(document).ready(function(){
for(var i=0;i<=mydata.length;i++){
$("#table1").jqGrid('addRowData',i+1,mydata[i]);
}
}
)
jQuery("#table1").jqGrid({
datatype: "local",
height: 250,
colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'],
colModel:[
{name:'id',index:'id', width:60, sorttype:"int"},
{name:'invdate',index:'invdate', width:90, sorttype:"date"},
{name:'name',index:'name', width:100},
{name:'amount',index:'amount', width:80, align:"right",sorttype:"float"},
{name:'tax',index:'tax', width:80, align:"right",sorttype:"float"},
{name:'total',index:'total', width:80,align:"right",sorttype:"float"},
{name:'note',index:'note', width:150, sortable:false}
],
multiselect: true,
caption: "Manipulating Array Data"
});
var mydata = [
{id:"1",invdate:"2007-10-01",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
{id:"2",invdate:"2007-10-02",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
{id:"3",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"},
{id:"4",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
{id:"5",invdate:"2007-10-05",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
{id:"6",invdate:"2007-09-06",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"},
{id:"7",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
{id:"8",invdate:"2007-10-03",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
{id:"9",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}
];
</script>
</head>
<body>
<div id="outerDiv" style="border: 0px solid #060606; width: 100%; height: 100%;">
<div style="border: 0px solid #060606; width: 100%; height: 25%;">Put whatever you want in here</div>
<div style="border: 0px solid #060606; width: 100%; height: 23%;">
<div style="border: 0px solid #060606; width: 50%; height: 99%;float:left;">
<table id="table1"></table>
</div>
<div style="border: 0px solid #060606; width: 50%; height: 99%;float:right;">
Div Right
</div>
</div>
<div style="border: 0px solid #060606; width: 100%; height: 23%;">
<div style="border: 0px solid #060606; width: 50%; height: 99%;float:left;">
Div Left
</div>
<div style="border: 0px solid #060606; width: 50%; height: 99%;float:right;">
Div Right
</div>
</div>
<div style="border: 0px solid #060606; width: 100%; height: 23%;">
<div style="border: 0px solid #060606; width: 50%; height: 99%;float:left;">
Div Left
</div>
<div style="border: 0px solid #060606; width: 50%; height: 99%;float:right;">
Div Right
</div>
</div>
<div style="border: 0px solid #060606; width: 100%; height: 6%;">
</div>
</div>
</body>
</html>
您应该删除jquery.searchFilter.js
、jquery.tablednd.js
和grid.loader.js
,并在jquery.jqGrid.min.js
之前添加加载grid.locale-en.js
。
如果您确实想使用grid.loader.js
则应检查文件包含并在仅grid.loader.js
后插入未包含在grid.loader.js
中的JS文件。规则是:不允许加载两次 jqGrid 模块。
更新:您需要在主JavaScript中进行一些更改。我的建议的结果你可以在这里看到。
你应该怎么做:
- 在元素之前
- 添加
<!DOCTYPE ...
<html>
。 - 将整个 JavaScript 代码放在
$(document).ready(function(){
中(不仅是addRowData
调用)。 - 使用数据更有效:jqGrid 的 mydata prameter 与使用 addRowData 方法一样。
- 为了获得完全有效的严格HTML代码,我在
<table>
元素中包含<tr><td/></tr>
。如何验证 validator.w3.org 从 http://www.ok-soft-gmbh.com/jqGrid/Abhishek.htm 修改的代码没有验证错误。 - 我不太了解您使用的HTML页面设计。尽管如此
clear:both;
我还是为<table>
后的第一个div 添加了样式,以便在下一行进行。
相关文章:
- this.router在AngularJS 2中未定义
- React+Meteor:this.ops返回未定义
- `当使用箭头函数时,“开发工具”中未定义“this”
- jQuery$(this)引用未定义
- this.defaultValue 返回 select 元素的未定义
- Alt flux action:_this.actions未定义,即使调用了this.generateActions
- $(this).attr({class:“activeTab”});不起作用,因为这是未定义的
- $(this)抛出“;未定义的“;但这是按预期进行的
- jqueryui:"类型错误:this.menu.element未定义"
- this.value在<td>标记显示未定义
- $(this)返回'未定义'
- TypeError:this.clusterer在Rails模型名称更改后未定义
- this._id流星中未定义
- Angular ES6,THIS,Scope和EL在JQLITE点击事件中全部未定义
- this.userId 在 Meteor.publish 中返回未定义
- 为什么我需要将“var value = val;”更改为“this.value = val;”,这样我就不会收到“未定义
- ReactJS - {this.props.children} 是未定义的
- 为什么 this.name 未定义
- `expressJS路由处理程序中未定义this
- 在Route类中未定义this.controller