如何使用内联编辑从 jqGrid 列中获取 Select 的文本
How to get Select's text from jqGrid column with inline editing
我需要获取 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");
它为我提供了项目的正确价值,但我也需要文本。
谢谢
我建议您直接获取所选选项。您只需要知道 jqGrid 根据规则在可编辑字段上分配 id
: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>
或 <td>
的某些内部 <span>
,其中包含您需要的数据。 $tdData.text()
从单元格中获取文本。如果变量中的列名(例如 colName
),则应使用 [colName]
而不是 .ResponsibleId
.
我需要获取 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");
它为我提供了项目的正确价值,但我也需要文本。
谢谢
我建议您直接获取所选选项。您只需要知道 jqGrid 根据规则在可编辑字段上分配 id
: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>
或 <td>
的某些内部 <span>
,其中包含您需要的数据。 $tdData.text()
从单元格中获取文本。如果变量中的列名(例如 colName
),则应使用 [colName]
而不是 .ResponsibleId
.