0

Jquery Uiダイアログ確認ボックスに変数を渡して、YESを押したときに何かを実行し、Noを押したときにのみダイアログを閉じたいと思います。今、私はこのコードを持っています

$("#confirmDialog" ).dialog({
resizable: false,
autoOpen: false,
modal: true,
buttons: {
    'OK': function() {
        $( this ).dialog( "close" );
        },
    'Cancel': function() {
        $( this ).dialog( "close" );
        }
    }
 });


$(".confirm").click(function(){

var myHref = $(this).attr("href");

   $("#confirmDialog").dialog( "open" ).html ( "Confirm?" )
   $("#confirmDialog").on( "dialogclose", function( event, ui ) { window.location = myHref } );
   return false;
});

今のところ、関数 on("dialogclose") しか見つかりませんでした。ユーザーが [はい] を押したときに何かを実行するように UI ダイアログを設定するにはどうすればよいですか? 変数も渡そうとしましたが、成功しませんでした

$(".confirm").click(function(){    
$("#confirmDialog").attr(myHref).dialog( "open" ).html ( "Confirm?" )
return false;
}); 

$("#confirmDialog" ).dialog({
resizable: false,
autoOpen: false,
modal: true,
buttons: {
    'OK': function() {
        window.location.href = myHref;
        $( this ).dialog( "close" );
        },
    'Cancel': function() {
        $( this ).dialog( "close" );
        }
    }
     });

また

$("#confirmDialog").dialog( "open" ).html ( "Confirm?" )
$("#confirmDialog").on( "OK", function( event, ui ) { window.location = myHref } );

これどうやってするの?ありがとう!

4

1 に答える 1

1

OKボタンをクリックして(ダイアログ内で)、設定したい変数を使用する関数を呼び出すように書くことができます。次に、リンク クリック イベント内でその変数を設定し、確認のためにダイアログを表示します。

例えば:

    var $dialog = $( '#dialog-confirm' );
var $button = $('#linkButton');
var link = '';

// init dialog

$dialog.dialog({
  resizable: false,
  height:340,
  modal: true,
  autoOpen: false,
  buttons: {
    Ok: function() {
      doSomething(); // reference your function here
      $( this ).dialog( "close" );
    },
    Cancel: function() {
      $( this ).dialog( "close" );
    }
  }
});

// bind event

$button.on('click', function(e){
  e.preventDefault();
  link = $(this).attr('href');
  $dialog.dialog('open');
});

function doSomething(){
  window.location = link;
}

ここでの実例: http://jsbin.com/azezal/2/

コード ビューはこちら: http://jsbin.com/azezal/2/edit

于 2013-02-17T11:50:49.283 に答える