如何在jquery ajax方法的jqgrid模式编辑对话框中访问字段?

时间:2014-07-15 05:43:58

标签: jquery jqgrid

我有一个jqgrid,它非常适合显示,分页,排序,添加和编辑数据。我需要在提交之前在添加/编辑模式对话框中的特定字段上添加自定义验证。我为此实现了beforeCheckValues事件并且它工作正常,但是我不确定如何从编辑对话框中获取值 - 我该怎么做?我正在研究“getRowData”,但我不相信会深入到模态编辑对话框中的内容。我的添加/编辑对话框有更多的字段,常规网格,一切都被拉回,它只是隐藏,直到编辑时。

jqgrid定义片段:

        {
            name: 'SecurityControlNumber', jsonmap: 'SecurityControlNumber', index: 'SecurityControlNumber', width: 150, editable: true, hidden: true,
            editrules:
                {
                    edithidden: true, required: true
                },
            formoptions:
                {
                    elmsuffix: ' *'
                },
            hidedlg: true
        },

beforeCheckValues事件:

  beforeCheckValues: function (postdata, formid, mode) {
                var options = {
                    type: 'GET',
                    async: false,
                    url: "@Url.Action("CheckSecurityControlNumber")",
                    data: { securityControlNumber: $('#gridDetail').jqgrid('getRowData') }, // <-- need to get field in modal here
                    dataType: 'json',
                    context: $(this),
                    success: function (data, textStatus, jqXHR) {
                        alert(data.returnvalue);
                        alert('made it to ajax call');

                    },
                    error: function (jqXHR, textStatus, errorThrown) {
                        alert('Something happened...  Error is.. : ' + errorThrown);
                    },
                };

                $.ajax(options);

1 个答案:

答案 0 :(得分:1)

如果我理解你正确的话,那就是你想要的(如果数据在弹出窗口中)

 data: { securityControlNumber: $('input#SecurityControlNumber').val() },//for text input

 data: { securityControlNumber: $('select#SecurityControlNumber option:selected').val() },//for dropdown