0

我以为我正朝着正确的方向前进。但是在某个地方,信息过载开始了。

简单的任务:我想让用户从下拉列表中选择一些东西,并让 jquery 从该选择中填充表单单元格。选择正在向我的 ASP 脚本发送一个 ID 请求,该脚本以 JSON 格式返回数据。但是 Jquery 根本没有填充表单。

这是我的jQuery。

<script>
$(document).ready( function() {
    $("#list-avail-reps").change( function() {
        var rep_id = $(this).val();
        var datastring = "ID="+rep_id;
    $.ajax({
        type: "GET",
        data: datastring,
        dataType: "json",
        url: "sales-reps.asp",
        success: function(data) {
            var rep_name=json.rep_name
            var rep_cell=json.rep_cell
            var rep_email=json.rep_email
            var rep_branch=json.rep_branch
            var branch_id=json.branch_id
            $("#rep_name").val(rep_name);
            $("#rep_cell").val(rep_cell);
            $("#rep_branch").val(rep_name);
            $("#rep_email").val(rep_email);
            $("#rep_active").val('1');
            $("#rep_login_ID").val(rep_id);
            $("#branch_ID").val(branch_ID);
        }
    });//end ajax command
    }); //end of listener
});//end document function
</script>  

我的 JSON 输出如下:

[
{
"rep_name":"Name here",
"rep_cell":"Number here",
"rep_branch":"More info",
"rep_email":"email here",
"branch_id":"5"
}
]

对此的任何帮助将不胜感激。

4

3 回答 3

0

您正在返回一个对象数组。要访问这些值,您需要首先选择数组的第一个索引:

var rep_name=data[0].rep_name
var rep_cell=data[0].rep_cell
var rep_email=data[0].rep_email
var rep_branch=data[0].rep_branch
var branch_id=data[0].branch_id

data此外,您不会被退回json

于 2012-07-23T16:44:37.943 回答
0

您应该使用data而不是json.

示例

data.rep_email相对json.rep_email

返回的数据似乎是一个数组。因此,您将需要遍历您的数组(或假设索引为 0)。

示例

var rep_email = data[0].rep_email

或者

for (var i = 0; i < data.length; i++) {
    var rep_email = data[i].rep_email;
}
于 2012-07-23T16:44:55.417 回答
0

var obj = JSON.parse(data); var rep_name=obj[0].rep_name

于 2018-04-26T08:00:36.660 回答