如何在调用jquery函数时将值作为参数传递

时间:2013-06-12 05:21:31

标签: c# javascript jquery

function getReportGroups() {
    $.ajax({
        contentType: "application/json; charset=utf-8",
        url: "ReportGroups.ashx",
        data: {
            'method': 'getReportGroups',
            'projectId': '30390'
        },
        dataType: "json",
        success: function (data) {
            alert('inside success');
            var i = 0;
            groupName = [data[i].name];
            while (data[i] != null) {
                alert([data[i].name]);
                alert([data[i].reportGroupId]);
                $("#top-node").append("<li item-checked='true' item-expanded='true'><a href=# style=font-weight:bold>" + [data[i].name] + "</a>");
                i++;
                var id = [data[i].reportGroupId];
                getReports(id);
            }

        },
        error: function (result) {
            alert("Error- Inside the error loop");
        }

    });
}

function getReports(id) {
    $.ajax({
        contentType: "application/json; charset=utf-8",
        url: "ReportGroups.ashx",
        data: {
            'method': 'getReports',
            'reportGroupId': id
        },
        dataType: "json",
        success: function (data) {
            alert('inside getReports success');
            var i = 0;
            groupName = [data[i].name];
            while (data[i] != null) {
                alert([data[i].name]);
                i++;
            }
        },
        error: function (result) {
            alert("Error- Inside the error loop");
        }
    });
}

这是我的代码。 这里,当我使用参数id从getReportGroups()调用getReports(id)时,id在getReoprts()函数中传递为零。我不知道这个问题是什么。我使用一个警告框来检查第一个中是否存在'id',它确实..我在getReportsFunction中有一个有效的ID。但我在第二个时候将id设为零。我在这做错了什么?

2 个答案:

答案 0 :(得分:0)

在调用i之前看起来你正在递增var id = data[i].reportGroupId,在第一次迭代时测试值(alert([data[i].reportGroupId]);)。

i++移动为while循环的最后一个语句,看看这是否可以解决您的问题。

答案 1 :(得分:0)

问题看起来像i++,您可以使用.each()来遍历数据

$.each(data, function(idx, item){
    alert(item.name);
    alert([item.reportGroupId]);
    $("#top-node").append("<li item-checked='true' item-expanded='true'><a href=# style=font-weight:bold>" + [item.name] + "</a>");
    var id = [item.reportGroupId];
    getReports(id);

})