TypeError:$(…)。jqGrid不是单击按钮触发重新加载的函数
我的网格首次加载良好。但在点击按钮时,我需要重新加载网格,它会给出错误“TypeError:$(…)。jqGrid不是一个函数” 这在firefox和chrome中都会发生。 请帮忙TypeError:$(…)。jqGrid不是单击按钮触发重新加载的函数,jqgrid,Jqgrid,我的网格首次加载良好。但在点击按钮时,我需要重新加载网格,它会给出错误“TypeError:$(…)。jqGrid不是一个函数” 这在firefox和chrome中都会发生。 请帮忙 <link rel="stylesheet" type="text/css" media="screen" href="<%=request.getContextPath()%>/themes/ui.jqgrid.css" /> <link rel="stylesheet" type=
<link rel="stylesheet" type="text/css" media="screen" href="<%=request.getContextPath()%>/themes/ui.jqgrid.css" />
<link rel="stylesheet" type="text/css" media="screen" href="<%= request.getContextPath()%>/themes/jquery-ui-1-10-TW-custom/jquery-ui-1.10.2.custom.css" />
<LINK rel=STYLESHEET href="<%= request.getContextPath()%>/themes/jquery-ui-timepicker-addon.css" rel="stylesheet" type="text/css"></LINK>
<script type='text/javascript' src="<%= request.getContextPath()%>/js/i18n/grid.locale-en.js"></script>
<script src="//code.jquery.com/jquery-1.11.1.js" type="text/javascript"></script>
<script src="//code.jquery.com/ui/1.11.1/jquery-ui.js" type="text/javascript"></script>
<script type='text/javascript' src="<%= request.getContextPath()%>/js/jquery.jqGrid.js"></script>
<script type='text/javascript' src="<%= request.getContextPath()%>/js/plugins/jqModal.js"></script>
<script type='text/javascript' src="<%= request.getContextPath()%>/js/plugins/jquery.tablednd.js"></script>
<script language="javascript" src="<%=request.getContextPath()%>/js/jquery/jquery-ui-timepicker-addon.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#gridData").jqGrid({
url:contextPath + "/psapi/esppPreclearance.do?method=gridData&stockClass="+ $("[name=stockClass]").val()+"&transactionType="+$("[name=transactionType]").val(),
datatype: "json",
colNames:['<bean:message key="plansetup.label.stockclass" />','<bean:message key="windowPeriod.label.dispTypeCode" />',
'<bean:message key="windowPeriod.label.fromDate" />', '<bean:message key="windowPeriod.label.toDate" />', '<bean:message key="windowPeriod.label.ParticipantLevel" />',
'<bean:message key="participantBenificiary.label.seqNo" />',
'<bean:message key="windowPeriod.label.product" />', '<bean:message key="windowPeriod.label.participantGrp" />',
'<bean:message key="participantGroup.label.Participant-id" />','<bean:message key="common.label.activeStatus" />'],
autowidth: true,
pager: '#pager',
colModel:[
{name:'stockClass',index:'stockClass', width:60},
{name:'transTypeDesc',index:'transTypeDesc', width:90},
{name:'frmDate',index:'fromDate', width:100, sorttype:"date"},
{name:'toDate',index:'toDate', width:100, sorttype:"date"},
{name:'prdLvlDesc',index:'prdLvlDesc', width:80, align:"right",sorttype:"float"},
{name:'prdSeqNo',index:'prdSeqNo', width:30, align:"right"},
{name:'productId',index:'productId', width:80, align:"right",sorttype:"int"},
{name:'partGroup',index:'partGroup', width:30, align:"right",},
{name:'globalId',index:'globalId', width:80, align:"right",},
{name:'activeFlg',index:'activeFlg', width:50, align:"center "},
],
loadonce: true,
multiselect: false,
rowNum:20,
viewrecods: true,
rowlist:[10,20,30,40,50],
height:463,
});
jQuery("#gridData").jqGrid('navGrid','#pager',{add:false,edit:false,del:false});
$("[name=btnFind]").click(function()
{
$("#gridData").jqGrid("setGridParam", {datatype: "json"}).trigger("reloadGrid");
alert("I AM OUT");
});
});
</script>
$(文档).ready(函数()
{
$(“#gridData”).jqGrid({
url:contextPath++“/psapi/esppreclearance.do?method=gridData&stockClass=“++$(“[name=stockClass]”)val()++“&transactionType=“++$(“[name=transactionType]”)val(),
数据类型:“json”,
colNames:['',
'', '', '',
'',
'', '',
'',''],
自动宽度:正确,
寻呼机:“#寻呼机”,
colModel:[
{名称:'stockClass',索引:'stockClass',宽度:60},
{名称:'transTypeDesc',索引:'transTypeDesc',宽度:90},
{名称:'frmDate',索引:'fromDate',宽度:100,排序类型:“date”},
{名称:'toDate',索引:'toDate',宽度:100,排序类型:“date”},
{名称:'prdLvlDesc',索引:'prdLvlDesc',宽度:80,对齐:“右”,排序类型:“浮点”},
{名称:'prdSeqNo',索引:'prdSeqNo',宽度:30,对齐:“右”},
{name:'productId',index:'productId',width:80,align:“right”,sorttype:“int”},
{名称:'partGroup',索引:'partGroup',宽度:30,对齐:“right”,},
{名称:'globalId',索引:'globalId',宽度:80,对齐:“right”,},
{名称:'activeFlg',索引:'activeFlg',宽度:50,对齐:“中心”},
],
有一次:是的,
多选:错,
rowNum:20,
viewrecods:对,
行列表:[10,20,30,40,50],
身高:463,
});
jQuery(“#gridData”).jqGrid('navGrid','#pager',{add:false,edit:false,del:false});
$(“[name=btnFind]”。单击(函数()
{
$(“#gridData”).jqGrid(“setGridParam”,{datatype:“json”}).trigger(“reloadGrid”);
警惕(“我出局了”);
});
});
该错误意味着jqGrid或某个相关JavaScript文件未加载或加载失败(例如,加载顺序错误)
您需要验证哪些JavaScript文件是真正加载的,并修复加载文件的顺序。例如,在
jquery-1.11.1.js
之后需要移动grid.locale en.js
,我建议您删除jquery.jqGrid.js
、jqModal.js
和jquery.tablednd.js
加载jquery.jqGrid.min.js
或jquery.jqGrid.src.js
。应该首先加载jQuery,然后加载grid.locale en.js
,然后加载jQuery.jqGrid.min.js
。顺便说一下,您可以从CDN cdnjs.com获取jqGrid文件(请参阅)。@Olga,再次感谢您抽出时间回复。我接受了您的word并进行了调试,发现我的工作区中存在多个版本的jquery文件。我将它们全部删除并保留,只有一个版本,代码开始工作。再次感谢您的帮助@GMK这可能是由于以下原因造成的
1。如果您使用多个jquery文件,即布局/模板在视图/HTML文件中有一个,而另一个在视图/HTML文件中
2。如果您有不同版本的文件感谢您的回复。我试过了,但没用。实际上,即使我将整个网格的初始加载放在按钮“单击”功能中,它也不起作用。@gmk:不客气!你现在犯了什么错误?您在问题中提出的错误“TypeError:$(…).jqGrid不是函数”,现在是否已修复?我想您需要调试代码。您应该启动开发工具(按F12键启动)并启动JavaScript调试。我可以通过调用reloadGrid然后尝试引用任何jqGrid函数来导致相同的错误。因此,缺少JavaScript文件可能是问题所在,但这不是唯一可能的原因。