0

JQGrid の行をクリックするたびに jquery.simplemodal.js JQuery プラグインを使用してモーダル ウィンドウを表示しようとしています。

それを行った後、ユーザーがモーダル ウィンドウで [はい] をクリックすると、行から取得した情報を使用して Iframe にドキュメントが表示されます。[いいえ] をクリックすると、Iframe はこのドキュメントに関連する情報を編集するためのフォームを表示します。 . ユーザーがいずれかのボタンをクリックするまで、Iframe コンテンツを空白のままにしておくという考え方です。これを達成するために、次のように JQGrid onSelectRow イベントを使用しています。

onSelectRow: function () {

            var id = $("#tabResBusUbi").getGridParam('selrow');
            var row = $('#tabResBusUbi').jqGrid('getRowData', id);
            viewDocument = false;

            myconfirm('Open the document view?', function () {
                viewDocument = true;            
            });

             if (viewDocument) {

                $('#ifrShowPdf').ready(function () {
                    $('#divLoading').css('display', 'none');
                });

                $('#ifrShowPdf').attr('src', 'resource\\' + row.filepath);
                $('#ifrShowPdf').css('display', 'block');

            } else {
                var rnd = Math.floor(Math.random() * 11);
                $('#ifrShowPdf').attr('src', 'document.asp?r=' + rnd + '&o=d&a=a&p=' + id);
                $('#ifrShowPdf').css('display', 'block');
            }

            return false;

}

function myconfirm(message, callback) {

$('#confirm').modal({

    closeHTML: "<a href='#' title='Close' class='modal-close'>x</a>",
    position: ["20%", ],
    overlayId: 'confirm-overlay',
    containerId: 'confirm-container',
    onShow: function (dialog) {

        var modal = this;
        $('.message', dialog.data[0]).append(message);

        $('.yes', dialog.data[0]).click(function () {                
            if ($.isFunction(callback)) {
                callback.apply();
                $('#confirm-overlay').css('z-index', 5000);
            }                
            modal.close(); 
        });
    }
});

}

行をクリックすると、モーダルポップアップが表示されますが、オプションボタンをクリックしていない場合でも、Iframe にドキュメントの編集フォームが表示されます。後で「はい」オプションをクリックすると、ドキュメントが表示されますが、これは意図したことではありません。

これを機能させるための提案をいただければ幸いです。

4

0 に答える 0