2012-07-23 52 views
0

我以爲我在這裏正朝着正確的方向前進。但在某個地方,信息超載設置英寸JQuery的AJAX與JSON表格值更新

簡單的任務:我想讓用戶從下拉列表中選擇一些東西,並讓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" 
} 
] 

任何幫助,在此將不勝感激。

+2

'json.rep_name'? >>你應該使用'data.rep_name' – 2012-07-23 16:42:55

回答

0

您應該使用data而不是json

data.rep_emailjson.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; 
} 
+0

花了一些代碼調整來獲取它,缺少分號,但在這些和數據之間(沒有數組),我成功了。感謝您的快速響應。 – hatrickwah 2012-07-23 17:28:51

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 

此外,您將返回datajson