免费 JqGrid - 网格不刷新

2024-04-28

我有一个组合框,当选择更改时,关联的网格将重新填充新数据。

<div class="container-fluid">
        <div class="row">
            <div class="col-md-4">
                <select id="Subcontractors"
                        data-bind="options: Subcontractors, optionsText: 'Subcontractor', optionsValue: 'ContractSubcontractorId', value: selectedSubcontractor, optionsCaption: '<-- Select Subcontractor -->', event:{ change: subcontractorChanged}"
                        class="form-control"></select>
            </div>
        </div>
    </div>
    <div id="containerGrid">
        <div id="divLoading" class="jqgrid-fluid-width divLoading has-error"></div>
        <table id="grid" class="grid"></table>
        <div id="pager"></div>
    </div>

网格定义如下;

var populateGrid = function (data, $form) {
    var grid = $("#grid");
    grid.jqGrid({
        data: data,
        colNames: ["Open Faults", "Address", "Fault No", "Description"],
        colModel: [
            { name: "numberOfOpenFaults", width: 50 },
            { name: "fullAddress", width: 400, align: "left" },
            { name: "faultNo", width: 50 },
            { name: "description", width: 400, align: "left" }
        ],
        prmNames: { id: "contractSubcontractorId" },
        localReader: { id: "contractSubcontractorId" },
        cmTemplate: { autoResizable: true },
        autoresize: true,
        rownumbers: true,
        viewrecords: true,
        iconSet: "fontAwesome",
        autoResizing: { compact: true },
        treeGrid: true,
        treeGridModel: "adjacency",
        ExpandColumn: "numberOfOpenFaults"
    }).jqGrid("gridResize");
    $(".divLoading").hide();
};

var getGrid = function (callback, selectedSubcontractorId) {
    var url = GetHiddenField("sir-get-open-faults-list-url").replace("#", selectedSubcontractorId);
    dataService.getList(url, callback);
};

var reloadGridWithUpdatedData = function (data) {
    var grid = $("#grid");
    var p = grid.jqGrid("getGridParam"); // get reference to all parameters
    p.data = data; // replace data parameter
    grid.trigger("reloadGrid");
};

所以当我想重新填充网格时,getGrid中的回调函数是reloadGridWithUpdatedData。否则,对于网格的初始填充,我使用函数 populateGrid。 这两个函数被正确调用,但是在函数 reloadGridWithUpdatedData 中,该行

var p = grid.jqGrid("getGridParam");

似乎没有被执行。它也不会抛出异常。难道就没有发现什么吗?

更新:首次加载数据时,数据将根据字段名称分为正确的列,正如您所期望的那样。重新加载数据时,数据列将按照它们在数据结构中的顺序排列,忽略列名称。我在网格的 p.data 属性中找到了这一点。 因此,我确保数据结构按照与列名相同的顺序重新组织,但这没有任何区别,网格无法重新加载。 那么为什么重新加载无法将新数据分配给数据列呢?

UPDATE2 - 最初网格是空的。每次选择组合框中的项目时,数据都会加载到网格中,因此数据布局是相同的。使用 Fiddler,我捕获了 2 个连续组合选择的数据;

Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Kestrel
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: http://localhost:12528
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcZ2VvZmZyZXlwYXluZVxEb2N1bWVudHNcVmlzdWFsIFN0dWRpbyAyMDE3XFByb2plY3RzXFNJUlxTSVJcYXBpXGNvbnRyYWN0cmVwb3J0XGdldGdyaWRieXN1YmNvbnRyYWN0b3JcNTg5XDE3?=
X-Powered-By: ASP.NET
Date: Mon, 22 Oct 2018 07:12:09 GMT

400
[{"numberOfOpenFaults":"1","fullAddress":"16, ACACIA ROAD, NORBURY, SW16 5PP","faultNo":"","description":"","id":4472,"parent":0,"level":0,"isLeaf":false,"expanded":false,"loaded":true},{"numberOfOpenFaults":"","fullAddress":"","faultNo":"6","description":"General Mechanical - Thermostatic Mixing Valves","id":95,"parent":4472,"level":1,"isLeaf":true,"expanded":false,"loaded":true},{"numberOfOpenFaults":"3","fullAddress":"85, ACADEMY GARDENS, ADDISCOMBE, CR0 6QL","faultNo":"","description":"","id":4474,"parent":0,"level":0,"isLeaf":false,"expanded":false,"loaded":true},{"numberOfOpenFaults":"","fullAddress":"","faultNo":"1","description":"General Mechanical - Low Temperature Hot Water","id":39,"parent":4474,"level":1,"isLeaf":true,"expanded":false,"loaded":true},{"numberOfOpenFaults":"","fullAddress":"","faultNo":"4","description":"Boilers HIU - Ventilation","id":65,"parent":4474,"level":1,"isLeaf":true,"expanded":false,"loaded":true},{"numberOfOpenFaults":"","fullAddress":"","faultNo":"9","description":"Gener
400
al Mechanical - Defect(s) Outstanding","id":70,"parent":4474,"level":1,"isLeaf":true,"expanded":false,"loaded":true},{"numberOfOpenFaults":"1","fullAddress":"8, ADMIRALS WALK, Tollers Estate COULSDON EAST, CR5 1BR","faultNo":"","description":"","id":4478,"parent":0,"level":0,"isLeaf":false,"expanded":false,"loaded":true},{"numberOfOpenFaults":"","fullAddress":"","faultNo":"3","description":"Ventilation - Grilles/air valves","id":105,"parent":4478,"level":1,"isLeaf":true,"expanded":false,"loaded":true},{"numberOfOpenFaults":"4","fullAddress":"14, ASHWOOD GARDENS, FIELDWAY, CR0 0SH","faultNo":"","description":"","id":4492,"parent":0,"level":0,"isLeaf":false,"expanded":false,"loaded":true},{"numberOfOpenFaults":"","fullAddress":"","faultNo":"4","description":"Certification Mechanical - Boiler Benchmark/Manual","id":79,"parent":4492,"level":1,"isLeaf":true,"expanded":false,"loaded":true},{"numberOfOpenFaults":"","fullAddress":"","faultNo":"6","description":"Unvented HWS Cylinder (UHC) - Pipework configuration","i
8c
d":81,"parent":4492,"level":1,"isLeaf":true,"expanded":false,"loaded":true},{"numberOfOpenFaults":"","fullAddress":"","faultNo":"7","descrip
374
tion":"Unvented HWS Cylinder (UHC) - Pipework configuration","id":86,"parent":4492,"level":1,"isLeaf":true,"expanded":false,"loaded":true},{"numberOfOpenFaults":"","fullAddress":"","faultNo":"8","description":"General Mechanical - Dry Risers","id":87,"parent":4492,"level":1,"isLeaf":true,"expanded":false,"loaded":true},{"numberOfOpenFaults":"2","fullAddress":"31, ASHWOOD GARDENS, FIELDWAY, CR0 0SH","faultNo":"","description":"","id":4498,"parent":0,"level":0,"isLeaf":false,"expanded":false,"loaded":true},{"numberOfOpenFaults":"","fullAddress":"","faultNo":"1","description":"General Mechanical - Waste","id":82,"parent":4498,"level":1,"isLeaf":true,"expanded":false,"loaded":true},{"numberOfOpenFaults":"","fullAddress":"","faultNo":"2","description":"General Mechanical - Thermostatic Mixing Valves","id":83,"parent":4498,"level":1,"isLeaf":true,"expanded":false,"loaded":true}
1
]
0

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Server: Kestrel
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: http://localhost:12528
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcZ2VvZmZyZXlwYXluZVxEb2N1bWVudHNcVmlzdWFsIFN0dWRpbyAyMDE3XFByb2plY3RzXFNJUlxTSVJcYXBpXGNvbnRyYWN0cmVwb3J0XGdldGdyaWRieXN1YmNvbnRyYWN0b3JcNTg5XDE5?=
X-Powered-By: ASP.NET
Date: Mon, 22 Oct 2018 07:13:57 GMT

400
[{"numberOfOpenFaults":"2","fullAddress":"16, ACACIA ROAD, NORBURY, SW16 5PP","faultNo":"","description":"","id":4471,"parent":0,"level":0,"isLeaf":false,"expanded":false,"loaded":true},{"numberOfOpenFaults":"","fullAddress":"","faultNo":"23","description":"Accessories - Existing not replaced/removed","id":106,"parent":4471,"level":1,"isLeaf":true,"expanded":false,"loaded":true},{"numberOfOpenFaults":"","fullAddress":"","faultNo":"25","description":"Lighting - Emergency Lighting","id":123,"parent":4471,"level":1,"isLeaf":true,"expanded":false,"loaded":true},{"numberOfOpenFaults":"1","fullAddress":"85, ACADEMY GARDENS, ADDISCOMBE, CR0 6QL","faultNo":"","description":"","id":4473,"parent":0,"level":0,"isLeaf":false,"expanded":false,"loaded":true},{"numberOfOpenFaults":"","fullAddress":"","faultNo":"4","description":"Alarms - Location","id":85,"parent":4473,"level":1,"isLeaf":true,"expanded":false,"loaded":true},{"numberOfOpenFaults":"1","fullAddress":"137, ACADEMY GARDENS, ADDISCOMBE, CR0 6QN","faultNo":"","des
400
cription":"","id":4475,"parent":0,"level":0,"isLeaf":false,"expanded":false,"loaded":true},{"numberOfOpenFaults":"","fullAddress":"","faultNo":"6","description":"Alarms - Location","id":110,"parent":4475,"level":1,"isLeaf":true,"expanded":false,"loaded":true},{"numberOfOpenFaults":"1","fullAddress":"18, CHERTSEY CRESCENT, NEW ADDINGTON, CR0 0DA","faultNo":"","description":"","id":4573,"parent":0,"level":0,"isLeaf":false,"expanded":false,"loaded":true},{"numberOfOpenFaults":"","fullAddress":"","faultNo":"2","description":"Earthing and Bonding - Supplementary bonding","id":137,"parent":4573,"level":1,"isLeaf":true,"expanded":false,"loaded":true},{"numberOfOpenFaults":"2","fullAddress":"Plot 2, 29, The Street, Geoff Close, , N1 7PL","faultNo":"","description":"","id":8705,"parent":0,"level":0,"isLeaf":false,"expanded":false,"loaded":true},{"numberOfOpenFaults":"","fullAddress":"","faultNo":"1","description":"Lighting - Type","id":170,"parent":8705,"level":1,"isLeaf":true,"expanded":false,"loaded":true},{"numberO
310
fOpenFaults":"","fullAddress":"","faultNo":"2","description":"Certification Electrical - Fire Alarm Certificate","id":171,"parent":8705,"level":1,"isLeaf":true,"expanded":false,"loaded":true},{"numberOfOpenFaults":"2","fullAddress":"Wenlock Barn Estate Hoxton Hackney, N1 7PL","faultNo":"","description":"","id":8899,"parent":0,"level":0,"isLeaf":false,"expanded":false,"loaded":true},{"numberOfOpenFaults":"","fullAddress":"","faultNo":"1","description":"Accessories - Type/quantity/setting-out","id":179,"parent":8899,"level":1,"isLeaf":true,"expanded":false,"loaded":true},{"numberOfOpenFaults":"","fullAddress":"","faultNo":"2","description":"General Electrical - Incorrect circuit protective device","id":180,"parent":8899,"level":1,"isLeaf":true,"expanded":false,"loaded":true}]
0

首先,您使用的数据存在小但重要的问题。必须更换一个

"parent": 0

网格的所有根元素中的属性

"parent": null

它修复了 TreeGrid 中的排序问题。看旧答案 https://stackoverflow.com/a/7332627/315935更多细节。

要了解重新加载 TreeGrid 数据的问题,需要查看以下几行免费的 jqGrid 代码:

// fix to allow to load TreeGrid using datatype:"local", data:mydata instead of treeGrid: true
if (p.treeGrid && p.datatype === "local" && p.data != null && p.data.length > 0) {
    p.datatype = "jsonstring";
    p.datastr = p.data;
    p.data = [];
}

populate.call(ts);

see here https://github.com/free-jqgrid/jqGrid/blob/v4.15.5/js/grid.base.js#L6328-L6335。这意味着免费的jqGrid的代码允许使用datatype: "local" and data参数作为输入simplifyTreeGrid 的用法,但它仍然使用旧的 jqGrid 方法来加载 TreeGrid 数据。

由于 TreeGrid 数据的重新加载会有些不同,例如以下内容:

var reloadGridWithUpdatedData = function (data) {
    var grid = $("#grid"),
        p = grid.jqGrid("getGridParam");

    p.data = [];
    p.datatype = "jsonstring";
    p.datastr = data;

    grid[0].grid.populate.call(grid[0]);
};

请参阅此处相应的演示:https://jsfiddle.net/OlegKi/o1bhpLyu/ https://jsfiddle.net/OlegKi/o1bhpLyu/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

免费 JqGrid - 网格不刷新 的相关文章

  • jqgrid:拖放多行

    如何使用 jqgrid 拖放多行 即我可以拖动多于一行吗 我怎么知道这在 jqGrid 中是不可能的 jQuery UI 的可排序功能是否支持它 请参阅http jqueryui com demos sortable http jquery
  • jqgrid 增加字体大小时每个单元格周围的间距

    我使用以下 css 增加了网格单元格的字体大小 ui jqgrid ui jqgrid view font size 14px 现在 每个单元格中文本周围的间距都很小 如何增加该空间 以便较大的文本能够在每个单元格中正确显示 预先致谢 更新
  • jqGrid - 防止取消选择行

    使用 jqGrid 如果我再次单击所选行 则该行将被取消选择 有什么办法可以防止这种情况发生吗 我希望该行仍被选中 很好的解决方案 更紧凑的版本 beforeSelectRow function rowid e return this ge
  • Jqgrid 页脚文本格式问题

    在 Jqgrid 中 我已将某些列设置为链接 对于这些列 我还设置了页脚 MAX 但问题是 配置的链接也被添加到页脚值中 这是意料之外的 任何帮助表示赞赏 提前致谢 我认为问题是how您添加页脚信息 如果你使用页脚数据 http www t
  • 在分页页脚中,如果没有找到记录,Page [1 ] of 0 不是应该显示“Page [0 ] of 0”吗?

    我注意到 如果没有要返回的记录 那么分页页脚不应该说 0 of 0 而不是 1 of 0 吗 另外 分页文本框不应该也被禁用吗 这是我发送回 jqGrid 的 JSON 响应 total 0 page 0 records 0 rows 我正
  • 使 jqGrid 可移动

    看起来 jqGrid 是基于 jQuery 对话框的 是否有可能使其可移动 像对话框一样 我已经能够将它放在对话框中 但有两个标题栏等看起来很奇怪 我 认为 可以向其中添加必要的类以使其可移动 但我对 jQuery 和 jqGrid 仍然相
  • JQgrid 从列中保存和恢复对象

    可以将复杂的对象保存到列中并在之后恢复它 这是一个例子 杰森 datamain mydata address data1 15 data2 0 0 data3 1000 Jqgrid jQuery rowed5 jqGrid datatyp
  • jqGrid:用双击代替单击进入单元格编辑模式

    Using jqGrid 中的单元格编辑模式 http www trirand com jqgridwiki doku php id wiki cell editing 默认行为是只要单击某个单元格或选择该单元格并按下 Enter 键 就会
  • JQGRID , 获取过滤后的所有行

    过滤 JQgrid 后 我无法获取所有行 分页 我试过 gt var myData grid jqGrid getGridParam data var myData grid jqGrid getRowData 但第一个选项给出了所有行 并
  • 如何将 jqGrid (4.x) 配置为 TreeView

    我已经获取了演示代码并尝试修改它以满足我的需要 但不幸的是我无法获得所需的结果 树网格正在加载和 绑定 但在展开和折叠期间层次结构似乎存在问题 我希望它默认保持展开状态 看起来它正在对它应该的数据发出另一个 ajax 请求不要做 第一次调用
  • jqGrid - 是否可以过滤 colModel 中 jsonmap 的值

    我正在使用 jqGrid 想知道 jqGrid 的 colModel 中的 jsonmap 的值是否可以具有过滤值 ColModel colModel name fname index action jsonmap cells cell c
  • jqGrid treeGrid 捕获展开折叠事件

    我使用 jqGrid 来构建一些大树 现在我想记住cookie中展开和折叠的节点 所以我想捕捉展开和折叠事件 我在手册中找不到它 所以我用这种方式解决了 grid find div treeclick bind click function
  • 如何在导航栏 jqgrid 上添加第二个自定义删除按钮?

    我已经在使用默认删除按钮进行自定义操作 在服务器端它在删除之前复制行 我想知道如何创建第二个删除按钮 将删除操作发送到不同的 url 以便在数据库的表上删除 我不想更改当前服务器端代码上的任何内容 只想为从此按钮发送的删除操作创建新代码 我
  • jqGrid 具有自动高度;但有最大高度和滚动条

    有没有办法让jqGrid根据行数自动调整高度 但是当达到一定高度时 它的高度不能再增加并且出现垂直滚动条 Thanks D 我建议你设置 max height 财产在bdiv https stackoverflow com question
  • 在 MVC 应用程序中显示 jqGrid 页脚行中的数据

    我需要帮助在 jqGrid 页脚行中显示数据 这是我在服务器上的配置 注意用户数据 小时 line Format the data for the jqGrid var jsonData new total totalPages page
  • 重新加载不适用于 jqgrid

    以下代码不会重新加载网格 myjqgrid trigger reloadGrid 如果我理解正确的话 即使数据没有更改 它也应该进行 ajax 调用并重新加载网格 HTML table table div div JSON colModel
  • 使用 jqGrid 的 ASP.NET MVC 路由

    我正在尝试创建一个指向 url 的链接 例如首页 详情 1在 jqGrid 列中 文档显示 showlink baseLinkUrl showAction show addParam key 2 注意 addParam 应该包含 例如 格式
  • 为什么 Jqgrid 冻结列似乎不能与过滤器行和过滤器标题一起使用?

    我无法让冻结列与 jqgrid 4 3 0 一起使用 我唯一能想到的是我有一些不是开箱即用的具体东西 我在顶部使用过滤行 我使用 cloneToTop true 显示网格顶部的所有按钮 我有以下代码 用于在 jqggrid 顶部显示过滤器状
  • 如何将“全选”选项添加到 jqGrid 选择工具栏过滤器?

    我正在使用 jqGrid 和过滤器工具栏构建表格 以便用户过滤表中显示的行 如果我使用文本作为搜索类型 这一切都很好 但对于某些列 我想使用选择列表以使用户更容易根据列中的值进行过滤 我可以将列类型设置为 选择 并使用表中的值填充选项 一切
  • 有没有办法在 jqgrid treeGrid url 请求中传回附加数据?

    i am 使用 jqgrid 树视图 http www trirand com jqgridwiki doku php id wiki 3atreegrid我正在传回 json 响应 效果很好 我想将一些有关请求的附加信息传递回 GUI 并

随机推荐

  • Dropzone.js 和每个文件的完整路径

    我正在尝试使用 Dropzone js 重新创建删除的文件 文件夹的文件夹结构 有没有办法访问每个文件的完整路径 以便可以在 php 端重新创建目录结构 这是一种简单的方法 您可以额外发送某些文件夹中所有文件的完整路径 dropzone o
  • Xgboost:bst.best_score、bst.best_iteration 和 bst.best_ntree_limit 有什么区别?

    当我使用 xgboost 训练我的数据时2 cates classification problem 我想使用提前停止来获得最佳模型 但我对在预测中使用哪一个模型感到困惑 因为提前停止将返回 3 个不同的选择 例如 我应该使用 preds
  • 读写文本文件的最佳方法

    我正在使用最新版本的 Lazarus IDE 并且我有一个Memo1在我的 TForm1 上 我必须加载一个文本文件Memo1然后编辑备忘录的每一行 我使用Memo1 Lines Strings i 最后 我必须将编辑后的备忘录保存在特定路
  • 对浮点数求反总是安全的吗

    考虑 double f foo double g f where foo 可以返回分配给的任何内容f is double g f 在 C 和 C 中安全吗 对于 IEEE 754 类型 显然是这样 但 C 和 C 并不限制浮点实现 与 Ja
  • 数组向量无法编译[重复]

    这个问题在这里已经有答案了 这个简单的程序 include
  • TreeSet 给出不正确的输出 - Java8

    在处理树集时 我发现了非常奇怪的行为 根据我的理解 以下程序应该打印两行相同的行 public class TestSet static void test String args Set
  • 如何调试 iOS 应用程序在启动时崩溃,仅在程序集文件中设置断点

    我遇到了当前正在开发的应用程序的问题 问题是应用程序在启动时在后台运行一段时间后崩溃 并且仅在这种情况下 在应用程序被杀死时启动应用程序不会导致调试器或手机崩溃 无论是否进行调试 在后台启动应用程序大约 5 10 分钟都不会导致崩溃 在后台
  • 以编程方式设置 Swift 元素的位置

    我在故事板中定义了一个标签 我正在尝试以编程方式更改其位置 SO 上已有一些问题似乎可以解决此问题 但似乎没有一个解决方案有效 即标签不移动 我已经删除了标签上所有现有的限制 但无济于事 我试过了 class LandingViewCont
  • 使用 Prism 在 Xamarin Forms 的后台服务中实现依赖注入

    我在我的 xamarin 表单项目中使用 Prism 我能够在我的视图模型中使用依赖注入 构造函数注入 没有任何问题 我还利用后台服务在后台推送长时间运行的任务 如何做我在后台服务中注入依赖项 当我尝试将接口对象作为参数传递给构造函数 Sy
  • CSV 实际上是....分号分隔值...(在 AZERTY 上导出 Excel)

    我在这里有点困惑 当我使用 Excel 2003 将工作表导出为 CSV 时 它实际上使用分号 Col1 Col2 Col3 shfdh dfhdsfhd fdhsdfh dgsgsd hdfhd hdsfhdfsh 现在 当我使用 Mic
  • 比 O(n) 更好的范围交集算法?

    范围交集是一个简单但不平凡的问题 已经回答过两次了 查找数字范围交集 https stackoverflow com questions 224878 find number range intersection 比较日期范围 https
  • 如何正确离开临界区?

    我有以下 C 代码 我在其中使用临界区对象 https msdn microsoft com en us library windows desktop ms682530 v vs 85 aspx EnterCriticalSection
  • mapFragment.getMapAsync 处的 NullPointerException

    在解决了与我的标题相关的问题后 我找不到问题的解决方案 我有一个NullPointerException at mapFragment getMapAsync 下面是我的MapActivity code package com exampl
  • 如何覆盖magento中的管理模板文件?

    我需要覆盖 adminhtml sales order create items grid phtml 文件 以在从管理员创建新订单时在每个项目下显示一些自定义文本 我希望通过自定义模块来完成此操作 任何人都可以建议如何覆盖管理模板文件 非
  • JUnit 测试 Spymemcached 客户端

    我有一个类围绕spymemcached 客户端 我想编写一些JUnit 测试来测试getValue 和addKey 方法是否有效 问题是无法从测试服务器访问spymemcached 服务器 所以我想这里需要一些模拟 我的简化类看起来像这样
  • 如何在 Apache POI 中获取 Excel 空白单元格值?

    我有一个巨大的 Excel 文件 其中包含大量列 如下所示 Column1 Column2 Column3 Column4 Column5 abc def ghi mno pqr 这是我编写的用于打印这些值的代码 try FileInput
  • 使用 ODBC 从理货中提取日账簿/交易数据

    我能够使用 Microsoft SQL 查询成功将 Excel 连接到 Tally ODBC 服务器 我现在想将整个历史记录的所有交易数据提取到 Excel 中 包括借方和贷方分类帐 就像在日记本中一样 但是 如果我使用提取CompanyV
  • 输出参数有什么问题?

    在 SQL 和 C 中 我从来都不太喜欢输出参数 我也从未在 VB6 中通过 ByRef 传递参数 依靠副作用来完成某件事只会让我烦恼 我知道它们是一种解决无法从函数返回多个结果的方法 但 SQL 中的行集或 C 和 VB 中的复杂数据类型
  • Woocommerce 根据购物车中的商品总数累进额外费用

    我正在寻找一些代码 可以根据购物车中的商品总数收取额外费用 例如 如果购物车中的商品数量 gt 6 gt 额外费用 5 如果购物车中的商品数量 gt 12 gt 额外费用 10 我努力了这段代码 https stackoverflow co
  • 免费 JqGrid - 网格不刷新

    我有一个组合框 当选择更改时 关联的网格将重新填充新数据 div class container fluid div class row div class col md 4 div div div