代码之家  ›  专栏  ›  技术社区  ›  Adam Tegen

jqGrid:发送编辑数据

  •  4
  • Adam Tegen  · 技术社区  · 14 年前

    我试着在jqgrid上使用表单编辑。当数据被发送到web服务器时,我希望在get/post数据中发送一个额外的字段。

    听起来editData是我想用的。我要怎么把它挂在导航栏上?

    <script type="text/javascript">
        $(document).ready(function(){ 
            if (jQuery('#ReferenceGrid').attr('role') == 'undefined' || jQuery('#ReferenceGrid').attr('role') == null) {
                var lastSel;
                jQuery('#ReferenceGrid').jqGrid({
                    url: '/PlannedWorkOrder/Items/',
                    datatype: 'json',
                    postData: { referenceNumber: $('#reference').text() },
                    colNames: ['Platinum Part Number', 'Quantity'],
                    colModel: [
                        { name: 'PlatinumPartNumber', index: 'PlatinumPartNumber', width: 300, sortable: false, editable: true },
                        { name: 'Quantity', index: 'Quantity', width: 300, sortable: false, editable: true, editrules:{integer: true}  },
                    ],
                    jsonReader: {
                        cell: "",
                        id: "PlatinumPartNumber",
                        repeatitems: false
                    },
                    search:false,
                    viewrecords: true,
                    height: '100%',
                    sortorder: 'desc',
                    caption: 'Details',
                    altRows: true,
                    pager : '#gridpager',
                    pgbuttons: false,
                    pginput: false,
                    pgtext: false,
                    viewrecords: false,
                    editurl: '/PlannedWorkOrder/Item/'
                })
                jQuery("#ReferenceGrid").navGrid('#gridpager', { add: true, edit: true, search: false });
            }
            else {
                $("#ReferenceGrid").setGridParam({ postData: { firstName: $('#Reference').val(), lastName: $('#Reference').val() } });
                $("#ReferenceGrid").trigger("reloadGrid")
            }
        });
    
    </script>
    
    1 回复  |  直到 14 年前
        1
  •  10
  •   Community Erin Dees    7 年前

    要添加在表单编辑中添加/编辑数据时发送的其他参数,可以使用 editData :

    jQuery('#ReferenceGrid').jqGrid('navGrid',"#gridpager",
        {},
        {editData: {firstName: $('#Reference').val(),
                    lastName: $('#Reference').text()}}, // edit options
        {editData: {firstName: $('#Reference').val(),
                    lastName: $('#Reference').text()}); // add options
    

    jQuery('#ReferenceGrid').attr('role') 看起来有点奇怪。也许你在我以前的建议中找到了同样问题的解决办法 How to filter the jqGrid data NOT using the built in search/filter box postData 作为函数:使用

    postData: { referenceNumber: function() { return $('#reference').text(); } },
    

    而不是

    postData: { referenceNumber: $('#reference').text() },