Jquery Jqgrid自定义函数验证并获取所有行编辑值
正如它在另一个问题()中所评论的那样,现在我需要使用custom_func验证输入。此验证需要将输入值与用户输入的其他列值进行比较。换句话说,在提交之前需要获取所有当前行值,以确定验证结果。 我设法通过这种方式得到了一些特定的专栏Jquery Jqgrid自定义函数验证并获取所有行编辑值,jquery,validation,jqgrid,Jquery,Validation,Jqgrid,正如它在另一个问题()中所评论的那样,现在我需要使用custom_func验证输入。此验证需要将输入值与用户输入的其他列值进行比较。换句话说,在提交之前需要获取所有当前行值,以确定验证结果。 我设法通过这种方式得到了一些特定的专栏 function myCustomFunc(value, colName) { //consider I have a global var "selRowId" which is updated onSelectRow event. var some
function myCustomFunc(value, colName) {
//consider I have a global var "selRowId" which is updated onSelectRow event.
var someColValue = $('select#'+selRowId+'_someColName').val();
// ... here the validation using the "someColValue" ...
}
我认为这不是最好的方法。我更喜欢返回类似于“getRowData”但包含用户所有输入值的对象的方法
我使用的是jqGrid 4.6.0似乎您使用的是内联编辑。版本4.6中的jqGrid没有访问当前值的其他可能性,但是免费jqGrid的当前源(GitHub的初步版本4.13.7)包含新的回调
saveRowValidation
和事件jqGridInlineSaveRowValidation
,这可以简化您需要实现的内容
回调saveRowValidation
包含一个参数,与免费jqGrid中实现的大多数其他回调一样。让我们将其命名为options
,该参数包含以下属性
,值为模式
或“编辑”
“添加”
-编辑行的id属性值rowid
-具有行的修改数据的对象newData
-编辑前包含行数据的对象savedRow
-内联编辑选项选项
-从网格顶部开始的行索引iRow
-DOM元素,表示编辑行tr
我认为
options.newData
是您所需要的。有关更多详细信息,请参阅的评论。我认为saveRowValidation是一个很好的解决方案,我会在实现新版本的免费jqgrid后立即尝试。当前版本是4.13.6?还是4.13.7?@Aberel:最新发布的版本是“4.13.6”(2016年12月24日)。在上次发布后对代码进行第一次更改后,我增加了版本号(至“4.13.7-pre”)。回调saveRowValidation
(和事件jqGridInlineSaveRowValidation
)已于2017年1月4日提交。我通常每个月都会发布新版本。因此,我计划在大约1-2周内发布下一个“4.13.7”版本。