jQuery按钮单击刷新jqGrid只触发一次

时间:2014-05-12 07:40:01

标签: jquery

我在页面中有以下代码。

  1. 我输入了员工ID,然后点击生成员工按钮,网格看起来很好用数据

  2. 问题是当我更改员工ID并再次点击Generate按钮时......这次网格没有刷新..它只显示旧数据..

  3. 请帮我解决此问题。

    提前致谢。

    代码:

     $(document).ready(function () {
                $("#btn_GenerateEmpList").click(function () {
                    var firstClick = true;
                    if (!firstClick) {
                        $("#EmpTable").trigger("reloadGrid");
                    }
                    firstClick = false;
                    var empId=  $("#txt_emp").val();
    
                    $.ajax({
                        type: "POST",
                        url: "PLBased.aspx/GetEmpNames",
                        data: JSON.stringify({ empId: empId}),
                        contentType: "application/json;charset=utf-8",
                        dataType: "json",
    
                        success: function (result) {
    
                            result = result.d;
                            jQuery("#EmpTable").jqGrid({
                                datatype: "local",
                                colNames: ['Emp Name'],
                                colModel: [
                                        { name: "EmpName", Index: "EmpName", width: 80 }
                                ],
                                data: JSON.parse(result),
                                rowNum: 10,
                                rowList: [5, 10, 20],
                                pager: '#pager',
                                loadonce: false,
                                viewrecords: true,
                                sortorder: 'asc',
                                gridview: true,
                                autowidth: true,
                                sortname: 'EMPID',
                                height: 'auto',
                                altrows: true,
    
                            });
                        },
                        error: function (result) {
    
                            alert("There was some error ");
                        }
                    });
                });
    
            });
    

3 个答案:

答案 0 :(得分:0)

在你的ajax回调成功时添加以下代码:

 $("#EmpTable").trigger("reloadGrid");

答案 1 :(得分:0)

你可以试试这个:

 gridComplete:function(){
     $("#EmpTable").trigger("reloadGrid");
 }

答案 2 :(得分:0)

重新加载网格不会从服务器获取数据,因为您的网格已配置数据类型:local。您可能必须使用addRowData将数据添加到网格中。