1

要素のクラスを反復処理し、特定の各要素の情報を使用して ajax 呼び出しを実行し、結果を操作したいと思います。

ここに私のjqueryコードがあります

$(".Topic").each(function () {
    var identify = $(this).attr('id');
    var prestart = identify.indexOf('_');
    var start = prestart + 1;
    var end = identify.length;
    var position = identify.substr(start, end);

    var trend = $("#Topic_" + position).text();

    $.ajax({
        type: "POST",
        url: "Results.aspx/CheckIfScheduled",
        data: "{\"Trend\":" + "\"" + trend + "\"" + "}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (results) {
            var str = results, obj = JSON.parse(str);
            if (str.Scheduled == true) {
                $("#IsSch_" + position).text(str.Date);
                $("#Sch_" + position).hide();
                $("#Cal_" + position).hide();
            }
        },
        error: alert("Error")
    });

});

バックエンド コードは、success 関数で使用するシリアル化された文字列を返すだけです。私が抱えている問題は、最初に各クラス要素を反復し、反復が完了すると、保存した最後の値を使用してすべての成功関数インスタンスを開始することです。

async:false を設定しようとしましたが、「予期しないトークン o」というエラーが表示され続けます

4

1 に答える 1

0

それが機能するかどうかはわかりませんが、成功コールバック内に位置を配置しようとすることができます...

$.ajax({
    type: "POST",
    url: "Results.aspx/CheckIfScheduled",
    data: "{\"Trend\":" + "\"" + trend + "\"" + "}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (results) {
        var positionInner = position;
        var str = results, obj = JSON.parse(str);
        if (str.Scheduled == true) {
            $("#IsSch_" + positionInner).text(str.Date);
            $("#Sch_" + positionInner).hide();
            $("#Cal_" + positionInner).hide();
        }
    },
    error: alert("Error")
});
于 2013-08-08T21:00:47.333 に答える