この質問はたくさん出てきましたが、私はそれを機能させることができません。
5つのdivがあります。最後に使用されたdivの前にdivを非表示にします。したがって、ユーザーがdiv 1のどこかをクリックしてから、div 2のどこかをクリックすると、div 1がフェードアウトします(これはすべて、Ajax呼び出しの後で)
これが私のコードです:
$(document).ready(function() {
$("#[id^='r_form_']").bind("ajax:success", function(evt, data, status, xhr) {
var $form = $(this);
$(this).parent().css("background", "green");
if($lastForm == null) {
var $lastForm = $(this);
};
if(!($lastForm[0] == $form[0])) {
$lastForm.parent().fadeOut(1500);
var $lastForm = $(this);
};
});
});
変数$lastForm
が未定義の場合は、Ajaxが発生した現在のフォームを割り当てます。
変数は常に未定義です。私はループにを追加しalert('undefined')
ました、私はいつもそれを手に入れます。なぜ?
Ajaxリクエストが戻ってきたときに変数がリセットされたせいかもしれません。しかし、私は実際には専門家ではなく、答えを見つけることができないようです。