更改jqGrid中特定行的下拉列表的值

更改jqGrid中特定行的下拉列表的值,jqgrid,Jqgrid,我已经使用jqGrid创建了一个表。我有一个组合框。我希望combobox的值不在前一行中使用 但是,一旦显示了第一行,则无法更改第二行中comboc的值 在我的组合框中,有三个值一个,两个,三个。我在第一行选择了值“2”。第二个组合框必须有两个值:one和three 我尝试了以下代码: $("#listData").setColProp('denomination', {editoptions:{value:getDenominationList('addOperation').toS

我已经使用jqGrid创建了一个表。我有一个组合框。我希望combobox的值不在前一行中使用

但是,一旦显示了第一行,则无法更改第二行中comboc的值

在我的组合框中,有三个值<代码>一个,
两个
三个
。我在第一行选择了值“2”。第二个组合框必须有两个值:
one
three

我尝试了以下代码:

$("#listData").setColProp('denomination',
    {editoptions:{value:getDenominationList('addOperation').toString()}});
在这里:

getDeminationList('addOperation')
将返回字符串
“1:1;3:3”


但这不起作用。

我希望我理解并更正您的问题,并且您希望每次根据当前行id或其他网格内容更改
编辑选项的
值。您可以在自定义的
dataInit
事件处理程序中执行此操作(请参阅):

问题中使用的函数
getDeminationList
没有您可能需要的
rowid
参数。为了简化它,我在行上方的代码中包含了它,它显示了如何获得行的
id


我建议你看看我最近回答的问题。它显示了在出现异常的情况下如何重置
value
属性的初始值。您应该在事件处理程序内部执行此操作。此外,在您必须使用的情况下,将强制调用
dataInit
事件处理程序,而不是一次,而是在每一行编辑。

对不起,我目前正在出差,我正忙于其他项目。所以我没有时间准备新的例子。
dataInit: function (elem) {
    var v = $(elem).val();
    var rowId = $(e.target).closest('tr.jqgrow').attr('id');
    var newValue = getDenominationList('addOperation').toString();
    $("#listData").setColProp('denomination', { editoptions: { value:newValue} });
}