0

我在我的项目中使用 Jqgrid。出于验证目的,我在每一列上定义了自定义函数。喜欢,

         { label: 'Name', name: 'Name', width: 300,
            editable:true, edittype:"custom", sortable:false,
            editoptions:{custom_element: getDatabaseColumnSelector,
                         custom_value:getSelectedDatabaseColumn},
            editrules:{required:true, custom:true, custom_func:somefunction}
          },

在这里,我使用 somefunction() 进行验证,在此函数中,我也使用其他列值进行验证。就像是

          if employeecountry = "US" then name.length < 10

但是在这个函数中,我怎样才能在 Name 列的自定义函数中获取employeecountry 的值。我试过了

           "# + rowId + _columnname"

但这在添加表单的情况下不起作用,因为当时未设置 rowId。如何在另一列中定义的自定义函数中获取其他列值,这将在编辑表单、内联编辑和添加表单中工作。任何帮助都会非常显着。

4

2 回答 2

0

不幸custom_func的是非常严格,只提供valuecolname参数值。但是您也许可以编写一些代码来解决这个问题。

您应该能够使用类似于以下的代码检测表单:

jQuery('#FrmGrid_mygrid').length > 0

然后你应该能够使用像这样的代码访问表单上的输入元素,尽管它会根据可用的输入控件类型而有所不同:

jQuery('#mycolname', '#FrmGrid_mygrid').val()

这有帮助吗?

听起来您已经有代码可以在其他场景(例如内联编辑)中进行验证。

于 2012-07-19T14:03:16.773 回答
0

你可以使用这样的东西:

    function my_custom_funct(v){ 
        thisId=$.jgrid.jqID(this.id); 
        var myval = $("#mycolname","#FrmGrid_"+thisId).val();
        alert (myval);
    }

$.jgrid.jqID(this.id); 获取当前网格 ID。

$("#FrmGrid_"+thisId).val(); 获取当前的 Formr id

于 2013-09-27T22:24:20.237 回答