2015-07-03 44 views
0

我需要得到的jqGrid的单元格是edittype='select'如何从jqGrid的列中选择文本与在线编辑

这里的文本和值是我colModel

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

我使用的是直列编辑和自由的jqGrid v4.9.0

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

它给我的项目的正确的价值,但我需要的文字以及。

谢谢

回答

1

我建议您直接选择选项。您只需知道jqGrid根据规则在可编辑字段上指定idrowid + "_" + columnName。所以,你需要的代码将

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

$option.text()将让你的文字和$option.val()让你当前所选择的选项的值。

UPDATE:如果你需要得到文本,它使用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

+0

感谢支持@Oleg,但是当这行在editmode中时,这个工作正常。当行处于Read模式时,我也需要文本。 –

+0

@Imran:查看** UPDATED **我的答案的一部分。 – Oleg

+0

工程就像一个魅力。谢谢! –