0

好的,我回到了这个,我刚刚删除了格式化程序:“select”,它需要一个匹配的状态键才能在网格中显示。


好的,我放弃了,我的解决方案是:

搜索:假,可编辑:假

直到 JQGrid 的新版本。


好的,所以看看 Oleg 的代码,似乎解决方案是最初用所有国家的每个可能值填充状态选择。鉴于我要处理很多“状态”(全球),为了找到与实际单元格值匹配的状态,下拉 3-4000 个状态有点笨拙。仍在为此努力。


我有依赖国家和州的下拉菜单(工具栏搜索、内联编辑和表单编辑)。我在获取 datainit 函数中的行 ID 时遇到问题,因此我可以从 state searchoptions/editoptions 的 datainit 函数中检索国家/地区值。

肯定有办法找回这个吗?我也尝试设置超时,但没有运气:

    { name: "State", index: "MYSTATE", width: 50, align: "left", editable: true, formatter: "select", stype: "select", edittype: "select", sortable: true, editrules: { required: true, custom: true, custom_func: validateState },
            searchoptions:
            {
                value: GetStates('NG', true), // just hardcoded here for now
                dataInit: function (elem)
                {
                    var rowId = $(elem.target).closest('tr.jqgrow').attr('id');
                    var country = grid.jqGrid('getCell', rowId, 'Country');

...

谢谢。

4

1 回答 1

0

您当前的代码无法工作,因为回调dataInit将在新元素或元素放置在页面上之前被调用。而且是错误的。Even将始终是空的 jQuery 元素。确切地说,如果您使用来自github的 jqGrid 的最新代码,代码将是可行的。原因是根据我的建议做出的重新更改。如果您使用最新发布的 jqGrid 4.4.1 版本,更改还没有出现。我认为应该对 jqGrid 的代码进行一些额外的更改,以使依赖选择的实现更容易。<select><input>elem.target$(elem).closest('tr.jqgrow')

我发现依赖选择的实现非常复杂和棘手。我建议您从答案中检查演示

于 2012-11-30T07:00:27.317 回答