(jqgrid)突出显示有验证错误的单元格并将该行保持在编辑模式,直到存在验证错误

时间:2013-09-19 19:14:51

标签: jqgrid

我查看了所有相关的例子,但还没有找到适用于我的解决方案。如果它有验证错误,我想要突出显示单元格。我尝试了一个解决方案 来自使用checkValues的stackoverflow,但它没有像以下那样工作

$.jgrid.checkValues = function(val, valref, g, customobject, nam)

gcustomobjectnam未定义,我无法弄清楚这些参数的用途。

我的验证是基于计算的,所以我在编辑规则中尝试了自定义功能。它有效,但我不想要弹出对话框,我想突出显示有验证错误的单元格。

1 个答案:

答案 0 :(得分:0)

我找不到这个例子,但我从那个答案中得到了片段

 var originalCheckValues = $.jgrid.checkValues,
            originalHideModal = $.jgrid.hideModal,
            iColWithError = 0;
       $.jgrid.checkValues = function(val, valref, g, customobject, nam) {
            var tr, td,
                ret = originalCheckValues.call(this, val, valref, g, customobject, nam);
            if (!ret[0]) {
                tr = g.rows.namedItem(lastSel);
                if (tr) {
                    $(tr).children('td').children('input.editable[type="text"]').removeClass("ui-state-error");
                    iColWithError = valref; // save to set later the focus
                    td = tr.cells[valref];
                    if (td) {
                        $(td).find('input.editable[type="text"]').addClass("ui-state-error");
                    }
                }
            }
            return ret;
        };