0

ダイアログを開くボタンがあり、ダイアログを閉じると機能しなくなります。ダイアログ画面で保存すると、引き続き正常に動作します。

ダイアログを開くボタンは次のとおりです。

<button class="actionbutton" type="button" onclick="addLitigant();">Add Litigant To Case(s)</button>

それが呼び出すコード:

function addLitigant(){
    console.log("Calling addLitigant()");
    editDialog.extendedDialog('loadUrl','CRFilingLitigantDialog.do?action=addLitigant', 'Add Litigant');
}

ダイアログ画面の終了コード:

param['buttons'].push(
        {
            id: "closeButton",
            text: "(C)lose",
            accessKey: "c",
            click: function () {
                jQuery(this).extendedDialog('close');
                jQuery(this).html('');

            }
        }
    );

保存ボタンのコード:

function () { 
                        console.log("clicking Save");
                        jQuery('#toAssign option').each(function(){
                            jQuery(this).attr('selected',true);
                        });

                        jQuery('#toUnassign option').each(function(){
                            jQuery(this).attr('selected',true);
                        });

                        editDialog.extendedDialog('postUrl', {url: 'CRFilingLitigantDialog.do?action=updateLitigant', formId: '#crFilingLitigantDialogForm', success: function(){
                            litigantTabGet('CRFilingLitigantDetail.do', null);
                            editDialog.extendedDialog ('destroy');
                        }});
                    }

jquery 1.6.2 を使用しています。addLitigant() 関数に console.log ステートメントを追加しようとしましたが、クローズから戻ったときにコンソールで何も呼び出されません。ページを更新すると、ダイアログを閉じるまで再び機能し始めます。

これは、ダイアログを開くページにある即時機能です。

jQuery(function(){
    console.log("function");

    verificationDialog = jQuery('<div id="verificationDialog"></div>').clerkReviewDialogTemplate({
        height:600,
        width:800,
        title: "Compare Eflex and Icis"
    });

    compareDialog = jQuery('<div id="comparisonDialog"></div>').clerkReviewDialogTemplate({
        height:400,
        width:500,
        title: "Imported Person"
    });

    editDialog = jQuery('<div id="editDialog"></div>').clerkReviewDialogTemplate({
        height:600,
        width:700,
        title: "Edit Litigant",
        buttons: [
            {
                id: "save",
                text: "S(a)ve",
                accessKey: "a",
                click: function () { 
                    console.log("clicking Save");
                    jQuery('#toAssign option').each(function(){
                        jQuery(this).attr('selected',true);
                    });

                    jQuery('#toUnassign option').each(function(){
                        jQuery(this).attr('selected',true);
                    });

                    editDialog.extendedDialog('postUrl', {url: 'CRFilingLitigantDialog.do?action=updateLitigant', formId: '#crFilingLitigantDialogForm', success: function(){
                        litigantTabGet('CRFilingLitigantDetail.do', null);
                        editDialog.extendedDialog ('destroy');
                    }});
                }
            }
        ]
    });

    jQuery('.saveOnChange').bind('change', function(){
        updateLitigants();
    });

    jQuery('.pin').icisAutocomplete({
        mustMatch: true,
        source: function(request, response){
            getQuickAccess(request, response);
        },
        change: function(event, ui){
            updateLitigants();
        }}).each(function(index){
            var data = jQuery(this).data('staging-json');

                jQuery(this).bind('keydown', function(event){
                    return f5_handler({
                        event: event,
                        onf5key: function(){
                            var popup = people_popup({elem: this, event: event, data: data, success: function(data){
                                if(data['pin'] != 'null'){
                                    jQuery(event.currentTarget).val(data['pin']);
                                }
                                if(data['masterPin'] != 'null'){
                                    jQuery('#'+jQuery(event.currentTarget).attr('masterPinField')).val(data['masterPin']);
                                }
                                compareDialog.extendedDialog('close');
                                updateLitigants();
                            }});
                            compareImportedLitigant(data['id'], popup);
                        }
                    });
                });
        });
});

ありがとう、

トム

4

2 に答える 2

0

このコードを古いバージョンと比較しました。古いバージョンで動作することに気付き、2 つを比較しました。古いバージョンでは、編集ダイアログのコードが変更されていました。閉じるコードを追加したところ、動作するようになりました。

 editDialog = jQuery('<div id="editDialog"></div>').clerkReviewDialogTemplate({
            height:600,
            width:700,
            title: "Edit Litigant",
            close: function(){
                litigantTabGet('CRFilingLitigantDetail.do', null);
                editDialog.extendedDialog ('destroy').remove();
            },
            buttons: [
                {
                    id: "save",
                    text: "S(a)ve",
                    accessKey: "a",
                    click: function () {
                        jQuery('#toAssign option').each(function(){
                            jQuery(this).attr('selected',true);
                        });

                        jQuery('#toUnassign option').each(function(){
                            jQuery(this).attr('selected',true);
                        });

                        editDialog.extendedDialog('postUrl', {url: 'CRFilingLitigantDialog.do?action=updateLitigant', formId: '#crFilingLitigantDialogForm', success: function(){
                            litigantTabGet('CRFilingLitigantDetail.do', null);
                            editDialog.extendedDialog ('destroy');

                        }});
                    }
                }
            ]
        });
于 2013-08-07T18:18:33.387 に答える