Jquery 数组返回的索引-1

Jquery 数组返回的索引-1,jquery,arrays,Jquery,Arrays,我有一个问题,我知道点击行的索引。我尝试了下面的代码,但每行返回-1 以下是示例代码: $(document).on("click", ".row-parent", function(){ var param = $("#inputKeyword").val(); $.ajax({ url: "http://xxxxxxxxx:8040/services/search/"+param, //data:{ keyword: param}, }).done

我有一个问题,我知道点击行的索引。我尝试了下面的代码,但每行返回-1

以下是示例代码:

$(document).on("click", ".row-parent", function(){

    var param = $("#inputKeyword").val();

    $.ajax({
    url: "http://xxxxxxxxx:8040/services/search/"+param,
    //data:{ keyword: param},
    }).done(function(data){

        var data=data.result;
        alert(data.length);

        var index = $(this).index(data);
        alert("Index: "+index);

    });
});
正如@jsve所写的:


在完成函数的上下文中是函数作用域,而不是
$(文档).on()
作用域

您的代码应该是:

$(document).on("click", ".row-parent", function(){

    var param = $("#inputKeyword").val();
    var that = this;
    $.ajax({
    url: "http://xxxxxxxxx:8040/services/search/"+param,
    //data:{ keyword: param},
    }).done(function(data){

        var data=data.result;
        alert(data.length);

        var index = $(that).index(data);
        alert("Index: "+index);

    });
});

在您的
done
函数的上下文中是函数作用域,而不是
$(文档)。on()
作用域。仍然返回-1@Gothdo