【问题标题】:Call Jquery grid inside a function在函数内调用 Jquery 网格
【发布时间】:2013-07-04 17:53:54
【问题描述】:

我有一个 jquery 网格。 我想在下拉更改事件中更改 jquery 网格的数据。

所以我需要在 change 事件中调用 jqgrid。

下面是我的代码

$("#ddlCategory").change(function () {
        UserJqGrid();
    GetMapDataOnChange();                 
});

第一个函数返回一个 jqgrid,第二个函数返回一个地图。 但只有第一次 jqgrid 加载。之后更改下拉列表,网格的数据未更新。

我的 UserJqGrid() 函数是

$("#list").jqGrid({
    url: "<?php echo base_url() ; ?>userController/GetUserGirdData?catIds=" + str + "&cityId=" + cityId,
    datatype: 'json',
    mtype: 'GET',
    colNames: ['Object Id', 'Name', 'Longitute', 'Latitute', 'Country', 'City'],
    colModel: [{
        name: "id",
        index: "id",
        key: true,
        width: 20,
        editable: true,
        key: true,
        editoptions: {
            readonly: true,
            size: 10
        }
    }, {
        name: "objName",
        index: "objName",
        width: 100,
        editable: true
    }, {
        name: "longi",
        index: "longi",
        width: 30,
        align: "left",
        editable: true
    }, {
        name: "lati",
        index: "lati",
        width: 30,
        align: "left",
        editable: true
    }, {
        name: "countryName",
        index: "countryName",
        width: 50,
        align: "left",
        editable: true
    }, {
        name: "cityName",
        index: "cityName",
        width: 50,
        align: "left",
        sortable: false,
        editable: true
    }, ],
    pager: '#pager',
    rowNum: 10,
    rowList: [10, 20, 30],
    sortname: 'id',
    sortorder: 'desc',
    viewrecords: true,
    width: 900,
    gridview: true,
    shrinkToFit: true,
    //rownumbers: true,
    height: 200,
    caption: 'Shipping Method',
    editurl: '../php/EditShipping.php'

});
jQuery("#list").jqGrid('navGrid', '#pager', {
    edit: true,
    add: true,
    del: false,
    excel: false,
    search: false
});

【问题讨论】:

    标签: javascript jquery jqgrid


    【解决方案1】:

    我解决了我的问题。 我称之为网格的重新加载事件。由于网格已经创建,所以我们不需要再次调用整个函数。只需要用新数据重新加载网格。

    jQuery("#list")
    .jqGrid('setGridParam',
    { 
      url:"<?php echo base_url() ; ?>userController/GetUserGirdData?catIds=" + str + "&cityId=" +cityId,
      datatype: 'json',
      mtype: 'GET'
    }).trigger("reloadGrid");
    

    【讨论】:

    • 最好关注the answer。我想strcityId 部分将在$("#ddlCategory").change 内部更改。确切地说,您必须使用encodeURIComponent 来构建值。我想您只阅读了某些&lt;select&gt;s 或类似内容的选定选项的ID。所以使用postData里面的函数是最好的选择。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多