gpt4 book ai didi

javascript - JQGrid 'Change' dataevent 在更改函数内更改网格行数据后未触发

转载 作者:行者123 更新时间:2023-12-01 05:37:48 24 4
gpt4 key购买 nike

我正在网格内使用下拉菜单。我打算根据下拉列的更改值来更改其他列的值。我的代码如下所示

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);
}
}
]

对于编辑模式下的下拉列表,更改事件仅触发一次。如果我反复更改下拉值,则不会触发该事件。我尝试了更改函数内没有任何代码的代码,并且运行良好。之后我发现 setRowData 函数导致了问题。如果我注释掉 setRowData 行,那么它就可以正常工作。

我不确定这种行为。有什么帮助或建议吗?预先感谢:)

最佳答案

我们遇到了同样的问题,已解决,可能会对某人有所帮助,因为它很简单:

所以整个事情看起来像这样:

{ name: 'STOP', index: 'STOP', width: 30 ,editable: true,edittype: 'select',editoptions:{
value: getStopLookup(),
dataEvents: [{type: 'change',
fn: function (e) {
// var rowid = e.target.id;
var row = $(e.target).closest('tr.jqgrow');
var rowid = row.attr('id');
jQuery(grid_selector).saveRow(rowid,
{
succesfunc: function (response)
{
return true;
},
url: '@Url.Action("UpdateStop", "Route")',
mtype: "POST",
aftersavefunc:function (response)
{
ReloadGrid('RoutingDataGrid');
},
});
}
}]
}},

关于javascript - JQGrid 'Change' dataevent 在更改函数内更改网格行数据后未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32817320/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com