0

作成したフォームのdistrict_idと権限名を取得するjQuery関数を作成しました。

ユーザーが郵便番号で検索をクリックすると、ボックスに郵便番号が入力されますが、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);
})

ただし、返されるオブジェクトが1つだけの場合は、プロパティに直接アクセスしてください。

 $('.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);

       }
   })

知らせ 。

サンプルでそれぞれを使用することもできます。

ただし、これは1回の反復になりますeach。(それでも大丈夫です)。

また、

追加してください:datatype:"json"

于 2013-02-18T16:14:43.487 に答える