1

条件が満たされた場合、jqueryダイアログウィンドウを開きたいのですが。現時点では、基本的な確認とアラートの条件のみを使用していますが、ダイアログに変更します。私はダイアログに精通していますが、関数から呼び出す方法はよくありません。これを行うためにコードをどのように修正しますか?どうもありがとう

function confirm_entry(cref,id,rack,intakedate)
{
input_box=confirm("Please be aware that this is a permanent destruction and cannot be undone. Only proceed if you are sure you wish to destroy this box. If not, click the cancel button.");
if (input_box==true)

{ 
// Output when OK is clicked
 window.location.href =  "boxdestroy.php?custref="+cref+"&id="+id+"&rack="+rack; 
}

else
{
// Output when Cancel is clicked
alert ("Thank you. Your destruction has been cancelled and no further action will be taken.");
}

}
4

3 に答える 3

1

次のようにjQuery UI ダイアログを呼び出すことができます。

function confirm_entry(cref, id, rack, intakedate) {
    var targetUrl = "boxdestroy.php?custref="+cref+"&id="+id+"&rack="+rack;
    return $("<div class='dialog' title='Confirmation Required'>Please be aware that this is a permanent destruction and cannot be undone. Only proceed if you are sure you wish to destroy this box. If not, click the cancel button.</div>")
    .dialog({
        resizable: false,
        height:140,
        autoOpen: false,
        modal: true,
        buttons: {
            "Confirm": function() {
                $(this).dialog("close");
                window.location.href = targetUrl;
            },
            "Cancel": function() {
                $(this).dialog("close");
            }
        }
    });
}
于 2012-10-27T12:26:44.580 に答える
0

これにより、アラートが表示されて「はい」で閉じ、「いいえ」で閉じるダイアログが開きます。

$('<div>are you sure?</div>')
                   .dialog({ 
                        buttons: [{ 
                            text: 'yes',
                            click: function () {                                
                                $(this).dialog('close');
                              alert('do something here');
                            }
                        }, { 
                             text: 'no', 
                             click: function () { $(this).dialog('close'); } }]
                    });
于 2012-10-27T11:16:38.850 に答える
-1

実際、あなたの質問の答えはJqueryUIWebサイトにあります。

http://jqueryui.com/dialog/#modal-confirmation (ソースの表示をクリック)

あなたはあなたのサイトに適切なhtmlを入れなければなりません

<div id="dialog-confirm" title="Empty the recycle bin?">
    <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?</p>
</div>

次に、jsアクションをそれにバインドします。

$(function() {
        $( "#dialog-confirm" ).dialog({
            resizable: false,
            height:140,
            modal: true,
            buttons: {
                "Delete all items": function() {
                    $( this ).dialog( "close" );
                },
                Cancel: function() {
                    $( this ).dialog( "close" );
                }
            }
        });
    });
于 2012-10-27T11:16:46.977 に答える