0

こんにちは私はjqGridでカスタムフォーマッタを使用して、列にリンクとクラスを追加します。私が呼び出すクラスの名前は「iframe」で、jqueryカラーボックスを使用して独自のダイアログボックスを設定します。ファイアバグで列名のクラスが「iframe」に設定されているのを見ましたが、それをクリックすると、ダイアログが機能しませんでした。私は間違っていましたか?

<script type="text/javascript" language="javascript">
jQuery(document).ready(function() {
$(".iframe").colorbox({ iframe: true, width: "40%", height: "80%", onClosed:function(){ location.reload(true); }  });

jQuery("#MyDynamicGrid").jqGrid({
        url: '/RepositoryRole/DynamicGridData/',
        mtype: 'POST',
        datatype: 'json',
        colModel: [                
            { name: 'Name', index: 'Name', width: 0, align: 'left', searchoptions: { sopt: ['cn', 'eq', 'ne'] }, formatter: returnMyLink, editable: true, editrules: { required: true, edithidden: true }, hidden: false },
            { name: 'Description', index: 'Description', width: 80, align: 'left', searchoptions: { sopt: ['cn', 'eq', 'ne'] },  },                
        ],

        colNames: ['Name', 'Description'],
        pager: jQuery('#pager'),
        rowNum: 5,
        rowList: [5, 10, 20, 30],
        sortname: 'Name',
        sortorder: 'Desc',
        viewrecords: true,
        imgpath: '/Content/JqGridThemes/steel/images',            
        autowidth: true,
        editurl: '/User/EditGrid/'
    });

function returnMyLink(cellValue, options, rowdata, action) {
    return '<a href="#" class="iframe">' + cellValue + '</a> ';
}});

ありがとう

4

1 に答える 1

0

jqgridからロードされた要素にカラーボックスが添付されていないと思います。カラーボックスを再接続するためにgridCompleteを使用できます

jQuery("#MyDynamicGrid").jqGrid({
        url: '/RepositoryRole/DynamicGridData/',
        mtype: 'POST',
        datatype: 'json',
        colModel: [                
            { name: 'Name', index: 'Name', width: 0, align: 'left', searchoptions: { sopt: ['cn', 'eq', 'ne'] }, formatter: returnMyLink, editable: true, editrules: { required: true, edithidden: true }, hidden: false },
            { name: 'Description', index: 'Description', width: 80, align: 'left', searchoptions: { sopt: ['cn', 'eq', 'ne'] },  },                
        ],

        colNames: ['Name', 'Description'],
        pager: jQuery('#pager'),
        rowNum: 5,
        rowList: [5, 10, 20, 30],
        sortname: 'Name',
        sortorder: 'Desc',
        viewrecords: true,
        imgpath: '/Content/JqGridThemes/steel/images',            
        autowidth: true,
        editurl: '/User/EditGrid/',
        gridComplete: function(){
        $(".iframe").colorbox({ iframe: true, width: "40%", height: "80%",       onClosed:function(){ location.reload(true); }  }
       }
    });
于 2011-12-02T05:36:09.580 に答える