0

我需要在 jqGrid 中获取一个单元格的文本和值edittype='select'

这是我的 colModel

{ name: 'ResponsibleId', editable: true, width: 140, sortable: false, formatter: 'select', edittype: 'select', editoptions: { value: ResponsibleList } }

我正在使用内联编辑和 free-jqgrid v4.9.0

当我跑var respId = $(gridId).jqGrid('getCell', row_id, "ResponsibleId");

它给了我正确的项目价值,但我也需要文本。

谢谢

4

1 回答 1

1

我建议您直接获得选定的选项。您只需要知道 jqGridid根据以下规则分配可编辑字段:rowid + "_" + columnName. 所以你需要的代码是

var $option = $("#" + $.jgrid.jqID(row_id) + "_ResponsibleId option").filter(":selected");

$option.text()将为您获取文本并$option.val()获取当前所选选项的值。

更新:如果您需要获取使用的单元格的文本formatter: "select",您可以执行以下操作:

var $grid = $(gridId),
    $tr = $grid.jqGrid("getGridRowById", row_id),
    iCol = $grid.jqGrid("getGridParam", "iColByName").ResponsibleId, // or [colname]
    $tdData = $.jgrid.getDataFieldOfCell.call($grid[0], $tr, iCol);

alert($tdData.text());

$tdData将为您提供 jQuery 包装器<td>或其中的一些内部<span>包含<td>您需要的数据。$tdData.text()从单元格中获取文本。如果您在变量中拥有列的名称(colName例如),那么您应该使用[colName]而不是.ResponsibleId.

于 2015-07-03T10:32:48.267 回答