2013-02-18 5 views
0

나는 내가 만든 양식에 대한 district_id와 authority 이름을 가져 오는 jQuery 함수를 만들었습니다.jQuery의 Ajax Json 데이터

사용자가 우편 번호를 통해 검색을 클릭하면 상자에 우편 번호가 채워지지만 지구 번호 필드를 채울 때로드되지 않습니다. 권한 이름을 얻을 수 있지만 문제는 없습니다. district_id 아무 것도!

{"district_id":2581,"la_name":"Hartlepool Borough Council"} 

가 어떻게 올바른 지구 ID와 지구 id 필드를 채울 않는 다음과 같이

$('.search-district').click(function() { 

    var postcode = $(".postcode").val(); 

    var post_url = "/core/get-district-data/" + postcode; 

    $.ajax({ 
     type : "POST", 
     url : post_url, 
     success: function(districts) 
     { 
      $.each(districts, function(district_id,la_name) 
      { 
       $('.postcode').val(la_name); 
       $('#district_id').val(district_id); 
      }) 
     } 
    }) 
}); 

예 JSON 데이터는 다음과 같이

내 jQuery 코드는? 현재 "1"을 채우고 있습니까? 언제 2581이되어야합니까?

EDIT : 필요에 따라 내 PHP에서 jSon 데이터를 변경할 수도 있습니다. 필요한 경우 "district_id"및 "la_name"을 제거하십시오. 사전에

감사합니다.

+0

당신이'each' 왜? 그것은 하나의 객체 (배열이 아님)입니다. –

+0

내 질문이 각각 맞는 것 같아요. 기타? – StuBlackett

+0

본문이 없으면 왜'POST' 요청을 사용합니까? – Engineer

답변

1

$.each 콜백 함수는 첫 번째 매개 변수로 인덱스를 전달합니다.

당신이 일을해야하기 때문이다 :

$.each(districts, function(district_id, district) 
{ 
    $('.postcode').val(district.la_name); 
    $('#district_id').val(district.district_id); 
}) 

그러나, 그것은 단지 하나의 목적은 단지 직접 속성에 액세스 반환하는 경우 :

$('.postcode').val(districts.la_name); 
$('#district_id').val(districts.district_id); 
0

왜 당신에게 each합니까? 단일 객체 (배열 아님) -

 $.ajax({ 
       type : "POST", 
       url  : post_url, 
       success: function(districts) 
       { 
         $('.postcode').val(districts.la_name); 
      $('#district_id').val(districts.district_id); 

       } 
   }) 

통지.

각 샘플을 사용할 수도 있습니다.

그러나 단 하나의 반복 each이됩니다. (그것은 아직도 ok 다). 또한

,

추가하십시오 datatype:"json"