如何在jqGrid中的delOptions操作方法中访问onSelectRow的id

时间:2018-01-31 07:13:41

标签: jqgrid

//隐藏的输入元素

//我的网格细节:  $("#的jqGrid&#34)。jqGrid的({             url:' @ Url.Action(" EditedEventData"," Calendar",new {})' +'?CountryId =' + @countryid +'& CityId =' + @cityid,             异步:是的,             数据类型:" json",             colModel:[

            //label: "Edit Actions",
            name: "",
            width: 100,
            formatter: "actions",
            formatoptions: {
                keys: true,
                edit: true,
                add: true,
                del: true,
                editOptions: {},
                addOptions: {},
                delOptions: {    

                    url:'@Url.Action("RemoveEvent", "Calendar")'+ '?HolidayId='+document.getElementById('hdnEventId').value ,
                    //mtype: 'POST',
                }// **here it is showing hdnEventId value empty**
            }
        }
        ],
        onSelectRow : function(id){ 
            console.log('inside onSelectRow');
            alert(id);                
            document.getElementById('hdnEventId').value=id;
            alert(document.getElementById('hdnEventId').value);
        },
        sortname: 'EventDate',
        loadonce: true,
        width: 750,
        height: 200,
        rowNum: 150,
        pager: "#jqGridPager"

    });

我无法在delOptions操作方法中访问onSelectRow的id。 所以想到了一个隐藏的html元素并存储了值,但它显示为空。 提前致谢

1 个答案:

答案 0 :(得分:0)

执行删除时,id会自动发送到服务器。通过post获得的参数名为 id

如果你还想在删除行时填写id,你可以使用一些事件来填充你想要的字段。这些是described here。在相同的文档中,请参阅发布到服务器的内容一章。

要在删除行时填写另一个字段中的id,我认为最好选择使用serializeDelData或afterSubmit事件 - 查看同一链接上的事件。

使用这些事件时,参数 postdata 包含id。例如,在serializeDelData(在delOptions中设置)中,这可能看起来像

@foreach (var item in Model.drr)
{
    <tr>
        <td>@Html.DisplayFor(modelItem => item.DateRange1)</td>
    </tr>
}

记住两个事件都应该返回一些参数