0

我已经构建了一个 jQuery 函数来提取我制作的表单的 District_id 和权限名称。

用户点击通过邮政编码搜索,它用邮政编码填充框,但是当我去填充 District_id 字段时,它似乎没有加载它。我可以获取权限名称,没问题,但 District_id 什么都没有!

我的 jQuery 代码如下:

$('.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 数据如下:

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

如何使用正确的地区 ID 填充地区 ID 字段?目前它用“1”填充它?什么时候应该是2581?

编辑:如果需要,我还可以更改我的 PHP 中的 json 数据。如果需要,删除“district_id”和“la_name”。

提前致谢。

4

2 回答 2

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);
于 2013-02-18T16:13:41.660 回答
0

你为什么each?它是单个对象(不是数组)-</p>

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

       }
   })

注意 。

您也可以在示例中使用每个。

但这将是一次迭代each。(不过还是可以的)。

还,

请加 :datatype:"json"

于 2013-02-18T16:14:43.487 回答