1

私は次のようなJavaScript関数を持っています:

Javascript:

function dailog_box(){
    $( "#dialog-confirm" ).dialog({
        resizable: false,
        modal: true,
        buttons: {
            Ok: function() {
            $( this ).dialog( "close" );
            return true;   //i want to return value here
        },
            Cancel: function() {
            $( this ).dialog( "close" );
            return false;  //i want to return value here
            }
        }
    });
}

HTML

<div id="dialog-confirm" title="Prescriptions" style="display:none;">
    <p>
        <span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>
        These items will be permanently deleted and cannot be recovered. Are you sure?<br/>
        <input type="checkbox" name="check_od" id="check_od"/> The prescription is correct;
    </p>
</div>

dialog_box()関数を呼び出した後、変数フラグに戻り値が必要で、次のようにしました。

Javascript

 var flag = dailog_box();
 alert(flag);

しかし、結果は未定義でした。また、ボタンをクリックする前にアラートが発生します。モデルのボタンでボタンがクリックされた後に値を取得するにはどうすればよいですか

詳細については、 http://jsfiddle.net/8e388/13/ を確認してください。戻り値をアラートで通知したいです。ちなみに、jsfiddleは初めてです。

4

2 に答える 2

1

を使用することをお勧めしますcallback

buttons: {
            Ok: function() {
            callbackSuccess();
            $( this ).dialog( "close" );
        },
            Cancel: function() {
            callbackCancel();
            $( this ).dialog( "close" );
            }
        }

callbackSuccessそしてcallbackCancel- は単純な関数です

ConfirmDialog のヘルパーを作成すると、コールバックを渡しやすくなります

于 2013-06-06T08:58:42.267 に答える