如何在jquery中validation子网格行?

我正在使用SubGrid。 我将在子网格中单击链接“添加会话”,这将向子网格添加行。 我可以添加n行。 现在我需要validation子网格中每个添加的行。 我怎么能这样做?

我正在粘贴下面的代码……

//This is my jqgrid code: function loadSubGrid(subgrid_id, row_id) { DayID = $('#DayEvents').getCell(row_id, 'DayID'); var pager_id; subgrid_table_id = subgrid_id + "_t"; pager_id = "p_" + subgrid_table_id; $("#" + subgrid_id).html("
add session
"); jQuery("#" + subgrid_table_id).jqGrid({ url: 'Event.asmx/GetSubGridDay', datatype: 'json', mtype: 'POST', cellEdit: false, cellsubmit: 'clientarray', onCellSelect: GridCellClick, ajaxGridOptions: { contentType: 'application/json; charset=utf-8' }, serializeGridData: PrepareGridPostData, jsonReader: { repeatitems: false, root: "d.rows", page: "d.page", total: "d.total", records: "d.records" }, colNames: ['sessionId', 'session', 'start time', 'end time', 'Speaker'], colModel: [{ name: 'SessionId', index: 'SessionId', width: 90, formatter: 'text', align: 'center', hidden: true }, { name: 'SessionName', index: 'SessionName', width: 90, formatter: 'text', align: 'center', edittype: 'text', editable: true, editoptions: { size: 10, maxlength: 15, dataEvents: [{ type: 'change', fn: GetRemainingEffort }, { type: 'focus', fn: clearCellValues }, { type: 'blur', fn: resetCellValues}]} }, { name: 'StartTime', index: 'StartTime', width: 90, formatter: 'text', align: 'center', edittype: 'text', editable: true, editoptions: { size: 10, maxlength: 15, dataInit: function(element) { $(element).timepicker({}) }, dataEvents: [{ type: 'change', fn: GetRemainingEffort }, { type: 'focus', fn: clearCellValues }, { type: 'blur', fn: resetCellValues}]} }, { name: 'EndTime', index: 'EndTime', width: 90, formatter: 'text', align: 'center', edittype: 'text', editable: true, editoptions: { size: 10, maxlength: 15, dataInit: function(element) { $(element).timepicker({}) }, dataEvents: [{ type: 'change', fn: GetRemainingEffort }, { type: 'focus', fn: clearCellValues }, { type: 'blur', fn: resetCellValues}]} }, { name: 'Speaker', index: 'Speaker', width: 300, editable: false, formatter: 'showlink', formatoptions: { baseLinkUrl: 'javascript:', showAction: "Speaker('", addParam: "');"} }, ], rowNum: 10, height: 'auto', autowidth: true }); }

现在在上面的代码中,它调用一个函数来打开一个对话框。

  { name: 'Speaker', index: 'Speaker', width: 300, editable: false, formatter: 'showlink', formatoptions: { baseLinkUrl: 'javascript:', showAction: "Speaker('", addParam: "');"} }, 

打开对话框的function如下:

 function Speaker() { $("#SpeakerPopUp").dialog('open'); $("#SpeakerPopUp").dialog( { autoOpen: true, height: 500, width: 500, modal: true, title: 'Speakers List', open: gridData, buttons: { 'cancel': function CancelCheck() { $(this).dialog('close'); }, 'Save': SpeakerSelectionSave } }); } } 

现在我需要的是它不应该打开对话框,如果该子网格行中的任何一列是空的..请帮帮我..希望我明确地解释了我的需要..

只需在$(“#SpeakerPopUp”)。对话框(’open’)之前在函数扬声器中插入以下行:

  if (_lastSelRow == null) { alert("enter all"); } else { alert("test" + _lastSelRow); if (($('#' + _lastSelRow + '_SessionName').val() == "") || ($('#' + _lastSelRow + '_StartTime').val() == "") || ($('#' + _lastSelRow + 'EndTime').val() == "")) else { ///