TypeError:$(…)。jqGrid不是单击按钮触发重新加载的函数

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=

我的网格首次加载良好。但在点击按钮时,我需要重新加载网格,它会给出错误“TypeError:$(…)。jqGrid不是一个函数”

这在firefox和chrome中都会发生。 请帮忙

<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文件可能是问题所在,但这不是唯一可能的原因。