0

jQuery ダイアログを開いてキャンセルをクリックして閉じ、新しいダイアログを開くようにしようとしています。CANCELをクリックすると、最初のダイアログを開くように設定しました。開こうとしている実際の単純なダイアログを気にしないでください。そのダイアログを開くのは意味がないことはわかっています...この時点でテストしているだけです...最初のダイアログを閉じても2番目のダイアログは表示されませんか?キャンセルを押しても何も起こらず、最初のダイアログが表示されたままです。SimpleDialog2 の使用 助けてください!

4

1 に答える 1

1

クリックするたびにダイアログを作成する方法を維持したい場合は、プラグインを閉じるのではなく、プラグインの destroy メソッドを使用する必要があります (プラグインがある場合)。そうしないと、毎回DOMに新しい要素が追加され、常にそこに存在します

その場での作成の概念にとどまり、すでに委任されているボタン/要素をクリックして開くことで、他のダイアログを開くことができます。

これらのボタンの行が複数あると仮定すると、クリックをトリガーする正しい要素を見つけることができるように、どの行がクリックされたかを追跡するために addClass のようなメソッドを使用する必要があります。

別のアプローチは、ダイアログ内で処理するために行 ID やクリックされた実際の要素などを渡す引数を持つ各ダイアログの関数を作成することkeyです。

$(document).delegate('#simplebool', 'click', function() {
        openDialog1( this);

})

function  openDialog1( el){
   var self=el; /* use this to replace "this" in dialog confirm code */
   $('<div>').simpledialog2({......})

}

これで、ダイアログ 2 内からダイアログ 1 を呼び出すことができ、既に開かれているハンドラからダイアログ 1 を呼び出すことができます。

于 2012-10-28T17:28:45.353 に答える