我需要获取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");
它为我提供了项目的正确价值,但我也需要文本。
感谢
答案 0 :(得分:1)
我建议您直接选择选项。您只需要知道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
会为您提供<td>
的jQuery包装器或<span>
的{{1}}内容<td>
,其中包含您需要的数据。 $tdData.text()
从单元格中获取文本。如果变量中包含您的列名称(例如colName
中),那么您应该使用[colName]
而不是.ResponsibleId
。