2015-07-03 43 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

工程就像一個魅力。謝謝! –