2012-07-19 70 views
0

我在我的项目中使用Jqgrid。为了验证目的,我已经在每列上定义了自定义函数。像,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 

但是在这个函数中,我怎么能得到名称列的自定义函数中employeecountry的值。我试着用

  "# + rowId + _columnname" 

但这不工作的情况下与附加的形式,因为ROWID没有设置在那个时候。如何在另一列中定义的自定义函数中获得其他列值,这些列值将以编辑表单,内联编辑和添加表单的方式工作。任何帮助都将非常可观。

回答

0

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

您应该能够使用类似的代码来检测的一种形式:

jQuery('#FrmGrid_mygrid').length > 0 

然后你应该能够使用代码等形式在此访问输入要素,虽然会取决于什么类型的变化的输入控制可用:

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

这有帮助吗?

这听起来像你已经有代码来验证工作在其他情况下,如内联编辑。

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();获取当前Fomr ID