【发布时间】:2015-12-25 08:39:00
【问题描述】:
我在网格内使用下拉菜单。我打算根据下拉列的更改值来更改其他列的值。我的代码如下所示
dataEvents: [
{
type: 'change',
fn: function (e) {
var row = $("#Grid").closest('tr.jqgrow');
var rowId = $("#Grid").jqGrid('getGridParam', 'selrow');
//alert(rowId);
var rowData = jQuery('#Grid').getRowData(rowId);
rowData.ProductID = e.target.value;
//alert(rowData.ProductID);
$("#Grid").jqGrid('collapseSubGridRow', rowId);
rowData.SelectedOptions = rowData.ProductID + "------";
jQuery('#Grid').setRowData(rowId, rowData);
}
}
]
对于编辑模式下的下拉菜单,仅触发一次更改事件。如果我反复更改下拉值,则不会触发该事件。我在 change 函数中尝试了没有任何代码的代码,它运行良好。之后我发现 setRowData 函数导致了问题。如果我注释掉 setRowData 行,那么它工作正常。
我不确定这种行为。有什么帮助或建议吗? 在此先感谢:)
【问题讨论】:
-
我正在使用 datatype: 'local' 作为网格。
-
我无法找出这种行为的真正原因,但我使用 setCell() 函数来更改相应的行数据并且它有效。如果有人有什么要补充的,请回复:)
标签: javascript jquery jqgrid