【发布时间】:2010-07-02 13:16:15
【问题描述】:
我正在尝试编写一个 jquery 函数来扫描整个 jqrid 以检查其任何单元格是否具有值。
我遇到的问题是似乎没有办法检索包含选择框的单元格的选定值。 jqgrid docs 明确说明了getCell 和getRowData 方法的以下内容。
当你 编辑行或单元格。这会 返回单元格内容而不是 输入元素的实际值
这很公平,但鉴于此,我如何真正获得价值?
无法解析从选择内容返回的 html,因为没有任何选项被标记为已选择,即使它们在浏览器中似乎已被选中。
这里是我的代码的 sn-p 供参考:
var colModels = this.grid.jqGrid('getGridParam', 'colModel');
for (i = 1; i < colModels.length; i++) {
var colModel = colModels[i];
if (colModel.edittype == 'select') {
var colData = this.grid.jqGrid('getCol', colModel.name, false);
for (j = 0; j < colData.length; j++) {
if (colData[j] != 0) {
//alert("select change: " + colData[j]);
//alert(j+' GridName_' + colModel.name)
//alert("select change: " + $('#GridName_' + colModel.name).val());
//return has value?;
}
}
}
}
列定义:
{ name: "AppleId", index: "Appled", width: 150, align: "left", resizable: false, editable: true, edittype: "select", editoptions: { value: function() { return xxx.buildAppleSelect(); } }, formatter: function(cellvalue, options, rowObject, action) { return xxx.buildAppleSelectHtml(cellvalue); } };
我还尝试了afterEditCell 和其他类似事件 - 但问题在于 - 单击选择框不会将出售置于编辑模式 - 您必须先单击单元格,然后再单击选择。
简而言之 - 我如何获得选定的值,客户端 - 可以做到吗?
【问题讨论】:
标签: jqgrid