JQueryダイアログを使用して、さまざまなテーブルからさまざまなレコードを削除することを確認しようとしているため、コード内のさまざまな場所から参照されているのはdivです(ダイアログを再利用してさまざまな操作を確認します)。私はこの例を使用しています: http://jqueryui.com/dialog/#modal-confirmation
呼び出しごとに非常に異なるアクションを確認する必要があるため、ダイアログ オプション ボタンの [OK] ボタンまたは [キャンセル] ボタンのコールバック内に実行するコードを配置することはできません{}
ボタンが押されたことを示す戻り値を持つ VB の MsgBox のようなものを持ちたいと思います (「OK」、「同意」、「閉じる」など)。このようなもの:
if ( $(target_dialog).dialog('open') == 'Ok'){
// Do something awesome
}else if( $(target_dialog).dialog('open') == 'Cancel') {
// Do something not that awesome
}
ご協力いただきありがとうございます。
編集:これは、JS confirm() の例 ( http://www.w3schools.com/js/tryit.asp?filename=tryjs_confirm ) のようなものですが、ポップアップではなく、カスタマイズ可能にしたい柔軟な jqueryui ダイアログ。
EDIT2:@vishwanathが示唆するように
$("#dialog-confirm").dialog({
//height, modal, width... settings
buttons : {
"OK": function() {
// here is the magic
action = $(this).data('action');
var actionToPerform = actions[action];
actionToPerform.call(this);
// end of magic
$( this ).dialog( 'close' );
},
Cancel: function() {
console.log("non awesome stuff here");
$( this ).dialog( 'close' );
}
}
});
var actions = {
action1 : function(){
console.log(''Do action1 stuff here);
},
action2 : function(){
console.log('Do action2 stuff here');
}
// and so on...
}
また、さまざまな親から、さまざまな回答に対してさまざまなアクションを実行できます。
$( '#dlgConfirm' ).data('action', 'action1').dialog( 'open' );
ありがとう。