在jqgrid中获取radiobutton值

时间:2013-01-23 13:52:48

标签: jqgrid jqgrid-asp.net jqgrid-php jqgrid-formatter jqgrid-inlinenav

我是jqGrid的首发,我想实现内联编辑并编写这段代码:

var gridDocument = jQuery("#listDocument");
            gridDocument.jqGrid({
                url: 'jQGridHandler.ashx',
                postData: { ActionPage: 'ClearanceRequestDocument', Action: 'Fill', RequestId: '3' },
                ajaxGridOptions: { cache: false },
                loadonce: true,
                direction: "rtl",
                datatype: 'json',
                height: '490',
                colNames: ['DocumentNO', 'Documentname', 'OrginalCertificate', ' CopyCertificate', 'Remark'],
                colModel: [
                        { name: 'DOCUMENT_ID', width: 200, sortable: true, hidden: true },
                        { name: 'DOCUMENT_NAME', width: 200, sortable: true, editable: false },
                    {
                        name: 'Orignal', width: 80, fixed: true, align: 'center', resizable: false, sortable: false,
                        formatter: function (cellValue, option, rowObject) {
                            return '<input id="t2" type="radio" name="radio_' + rowObject + '" />';
                        }
                    },
                      {
                          name: 'Copy', width: 80, fixed: true, align: 'center', resizable: false, sortable: false,
                          formatter: function (cellValue, option, rowObject) {
                              return '<input id="t1" type="radio" name="radio_' + rowObject + '" />';
                          }
                      },
                     //  { name: 'is_ORGINAL', width: 80, sortable: true, editable: true, formatter: 'checkbox', edittype: 'checkbox', editoptions: { value: 'Yes:No', defaultValue: 'Yes'} },
                       //{ name: 'is_copy', width: 80, sortable: true, editable: true, formatter: 'checkbox', edittype: 'checkbox', editoptions: { value: 'Yes:No', defaultValue: 'Yes'} },
                        { name: 'REMARK', width: 200, sortable: true, editable: false }
                ],

                sortname: 'DOCUMENT_ID',
                viewrecords: true,
                rownumbers: true,
                sortorder: "desc",
                editurl: 'clientArray',
                altRows: true,
                altclass: 'ui-priority-secondary',
                onSelectRow: function (id) {
                    if (id && id !== lastSel) {
                        gridDocument.saveRow(lastSel, true, 'clientArray');
                        gridDocument.jqGrid('restoreRow', lastSel);
                        gridDocument.jqGrid('editRow', id, true, null, null, 'clientArray');
                        lastSel = id;
                        intArray[index] = id;
                        index += 1;
                    }
                },
                pager: '#pagerDocument',
                rowNum: 30,
                rowList: [30, 60, 90],

                loadComplete: function () {
                    var $this = $(this), ids = $this.jqGrid('getDataIDs'), i, l = ids.length;
                    for (i = 0; i < l; i++) {
                        $this.jqGrid('editRow', ids[i], true);
                    }
                }
            }).jqGrid('navGrid', '#pagerDocument', { edit: false, add: false, del: false, search: false, refresh: false });

我这个网格我有2个radioButton列。我想要用户确定提供此证明的证据是原始还是复制我尝试通过此代码获取值radioButton(已检查或未检查)

for (var i = 0; i < $("#listDocument").getGridParam("reccount") ; i++) {
                                           var row = $("#listDocument").jqGrid('getRowData', i + 1);
                    alert($(row.Orignal).is(":checked") + "|" + row.Copy);

                }

此代码始终提示虚假值,请帮助我编写此代码,感谢所有专家。

1 个答案:

答案 0 :(得分:0)

如果要根据原始值(真或假)检查单选按钮

更改格式化程序功能
                       formatter: function (cellValue, option, rowObject) {
                        return '<input id="t2" type="radio" name="radio_' + rowObject + '" />';
                    }

                       formatter: function (cellValue, option, rowObject) {
                        return '<input id="t2" type="radio" name="radio_' + rowObject["DOCUMENT_ID"] + '" checked="'+cellvalue+'"/>';
                    }

我不明白为什么要将rowobject追加到名称

更新:

我以为你想在加载时检查单选按钮。如果要确保在内联编辑时仅选中单选按钮,则可以使用自定义验证。

使用自定义函数验证原始和复制(对两列使用相同的功能)

use editrules:{custom: true, custom_func: validateOriginalOrCopy}

在custom_func中有2个参数传递值和colname,您可以使用这些参数来验证