-1

私のコードは次のようになります。問題は、PHP 側がそれを実行し、正しい値を返すことです。しかし、ajax は内部で実行しませんsuccess: function。私は何が欠けていますか?

AnswerDiv.on("click", ".NotSelectedAnswer", function() {
    var NotSelectedAnswerBtn = $(".NotSelectedAnswer"),
        SelectedAnswerBtn = $(".SelectedAnswer"),
        AnswerDiv = $("div.Answer"),
        querystring="fromID="+SelectedAnswerBtn.data("id")+"&toID="+$(this).data("id")+"&op=SelectAsAnswer";

    $.ajax({
        url: 'processor.php',
        type: "POST",
        dataType: "json",
        data: querystring,
        success: function(data) {
            if(data.status)
            {
                SelectedAnswerBtn.removeClass("SelectedAnswer").addClass("NotSelectedAnswer").button("enable");
                $(this).removeClass(" NotSelectedAnswer").addClass("SelectedAnswer").button("disable");
                $("div.Answer[data-id=" + SelectedAnswerBtn.data("id") + "]").toggleClass("SelectedDiv");
                $("div.Answer[data-id=" + $(this).data("id") + "]").toggleClass("SelectedDiv");
            }
        }
    });

    return false;
});
4

1 に答える 1

1

$(this)ajax呼び出しの前にキャッシュしてみてください

AnswerDiv.on("click", ".NotSelectedAnswer", function() {
    var NotSelectedAnswerBtn = $(".NotSelectedAnswer"),
    SelectedAnswerBtn = $(".SelectedAnswer"),
    AnswerDiv = $("div.Answer"),
    thisElem=$(this),
    querystring="fromID="+SelectedAnswerBtn.data("id")+"&toID="+$(this).data("id")+"&op=SelectAsAnswer";
    $.ajax({
        url: 'processor.php',
        type: "POST",
        dataType: "json",
        data: querystring,
        success: function(data) {
            if(data.status)
            {
                SelectedAnswerBtn.removeClass("SelectedAnswer").addClass("NotSelectedAnswer").button("enable");
                thisElem.removeClass(" NotSelectedAnswer").addClass("SelectedAnswer").button("disable");
                $("div.Answer[data-id=" + SelectedAnswerBtn.data("id") + "]").toggleClass("SelectedDiv");
                $("div.Answer[data-id=" +thisElem.data("id")+ "]").toggleClass("SelectedDiv");
                return false;
            }
        }
    });

});
于 2012-09-08T12:29:41.590 に答える