0

「はい」と「いいえ」の2つのボタンがあるダイアログがあります。「はい」の場合は、次の方法でデータベース操作を行います

$.ajax({
    type: post
    ...
})

[Success] セクションで、html タグの一部を新しいページにリダイレクトする必要がありますが、これは正常に機能します。その後、ダイアログを閉じたいのですが、うまくいきません。

私が使用するコマンドは

$( this ).dialog( "close" );

私も試しました:

$(this).closest('.ui-dialog-content').dialog('close');

$(this).parents(".ui-dialog-content").dialog('close');

私の成功セクション内では上記のどれも機能しません。リダイレクトのせいだと思います。まだ確かではない。

誰にもアイデアはありますか?ありがとう!

4

2 に答える 2

1

ダイアログに id を指定し、ajax 成功コールバックに次のように入力します。

$( "#yourDialogId" ).dialog( "close" );
于 2013-02-28T16:51:49.847 に答える
1

成功関数内で $(this) を使用していると仮定します。これが true の場合、問題は「this」がダイアログを指していないことです。

ajax 関数を呼び出す前にダイアログ div への参照を保存してから、success 関数内でこの参照を使用します。

// before ajax
var that = this

// inside success
$(that).dialog('close');
于 2013-02-28T16:48:51.633 に答える