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

时间:2014-10-14 21:07:43

标签: jqgrid

我的网格第一次加载正常。但是按下按钮,我需要重新加载网格,它会给出错误'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>

3 个答案:

答案 0 :(得分:2)

错误意味着jqGrid或某些相关的JavaScript文件未加载或未成功加载(例如以错误的顺序加载)。

您需要验证哪些JavaScript文件确实已加载并修复已加载文件的顺序。例如,您需要在 grid.locale-en.js之后移动jquery-1.11.1.js ,我建议您删除jquery.jqGrid.jsjqModal.jsjquery.tablednd.js的加载请改为加载jquery.jqGrid.min.jsjquery.jqGrid.src.js。首先应该加载jQuery,然后加载grid.locale-en.js然后加载jquery.jqGrid.min.js。顺便说一下,您可以从CDN cdnjs.com获取jqGrid文件(参见here)。

答案 1 :(得分:0)

@Olga,再次感谢您抽出宝贵时间作出回应。我接受了你的话并进行了调试,并在我的工作区中看到了多个版本的jquery文件。我删除了所有并保留,只有1个版本,代码开始工作文件。再次感谢您的帮助

答案 2 :(得分:0)

@GMK可能由以下原因发生

<强> 1。如果您使用多个jquery文件,即布局/模板在视图/ HTML文件中有一个和另一个

<强> 2。如果你有不同的版本文件