2

lastnameの最後のエントリしか取得できないようです。私はこれに一日中費やしていて、誰かが私が欠けているものを見ることができるかどうか疑問に思っていました。ありがとうございました

<!doctype html>
<html>

    <head>
        <meta charset="utf-8">
        <title>Untitled Document</title>
        <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.js"></script>
        <script type="text/javascript">
            $(document).ready(function () {
                $.ajax({
                    url: "http://testsite.legisconnect.com/list.php",
                    dataType: "json",
                    success: function (data) {
                        $.each(data.response.legislators, function (i, item) {
                            $('#here').html(item.legislator.lastname);
                        });
                    }
                });
            });
        </script>
    </head>

    <body>
        <div id="here"></div>
    </body>

</html>

JSON

{
    "response": {
        "legislators": [{
            "legislator": {
                "website": "http://ackerman.house.gov/",
                "fax": "202-225-1589",
                "govtrack_id": "400003",
                "firstname": "Gary",
                "chamber": "house",
                "middlename": "L.",
                "lastname": "Ackerman",
                "congress_office": "2111 Rayburn House Office Building",
                "eventful_id": "",
                "phone": "202-225-2601",
                "webform": "http://www.house.gov/writerep",
                "youtube_url": "http://www.youtube.com/RepAckerman",
                "nickname": "",
                "gender": "M",
                "district": "5",
                "title": "Rep",
                "congresspedia_url": "http://www.opencongress.org/wiki/Gary_Ackerman",
                "in_office": true,
                "senate_class": "",
                "name_suffix": "",
                "twitter_id": "repgaryackerman",
                "birthdate": "1942-11-19",
                "bioguide_id": "A000022",
                "fec_id": "H4NY07011",
                "state": "NY",
                "crp_id": "N00001143",
                "official_rss": "",
                "facebook_id": "RepAcherman",
                "party": "D",
                "email": "",
                "votesmart_id": "26970"
            }
        }, {
            "legislator": {
                "website": "http://adams.house.gov/",
                "fax": "202-226-6299",
                "govtrack_id": "412414",
                "firstname": "Sandra",
                "chamber": "house",
                "middlename": "",
                "lastname": "Adams",
                "congress_office": "216 Cannon House Office Building",
                "eventful_id": "",
                "phone": "202-225-2706",
                "webform": "",
                "youtube_url": "http://www.youtube.com/RepSandyAdams",
                "nickname": "",
                "gender": "F",
                "district": "24",
                "title": "Rep",
                "congresspedia_url": "http://www.opencongress.org/wiki/Sandy_Adams",
                "in_office": true,
                "senate_class": "",
                "name_suffix": "",
                "twitter_id": "RepSandyAdams",
                "birthdate": "1956-12-14",
                "bioguide_id": "A000366",
                "fec_id": "H0FL24049",
                "state": "FL",
                "crp_id": "N00030926",
                "official_rss": "",
                "facebook_id": "",
                "party": "R",
                "email": "",
                "votesmart_id": "31041"
            }
        }, {
            "legislator": {
                "website": "http://aderholt.house.gov/",
                "fax": "202-225-5587",
                "govtrack_id": "400004",
                "firstname": "Robert",
                "chamber": "house",
                "middlename": "B.",
                "lastname": "Aderholt",
                "congress_office": "2264 Rayburn House Office Building",
                "eventful_id": "",
                "phone": "202-225-4876",
                "webform": "http://aderholt.house.gov/?sectionid=195&sectiontree=195",
                "youtube_url": "http://www.youtube.com/RobertAderholt",
                "nickname": "",
                "gender": "M",
                "district": "4",
                "title": "Rep",
                "congresspedia_url": "http://www.opencongress.org/wiki/Robert_Aderholt",
                "in_office": true,
                "senate_class": "",
                "name_suffix": "",
                "twitter_id": "Robert_Aderholt",
                "birthdate": "1965-07-22",
                "bioguide_id": "A000055",
                "fec_id": "H6AL04098",
                "state": "AL",
                "crp_id": "N00003028",
                "official_rss": "",
                "facebook_id": "RobertAderholt",
                "party": "R",
                "email": "",
                "votesmart_id": "441"
            }
        }]
    }
}
4

2 に答える 2

4

すべての反復で使用.html()することにより、結果を上書きします。したがって、最後のエントリのみが表示されます。.append()代わりに試してみてください。

于 2012-05-21T01:16:56.850 に答える
3

サクセスハンドラーでは、コレクションをループし、innerHTMLを毎回新しいエントリに置き換えています。

               success: function (data) {
                    $.each(data.response.legislators, function (i, item) {
                        $('#here').html(item.legislator.lastname);
                    });
                }

したがって、ループの最後に到達すると、他のすべてが繰り返し置き換えられているため、最新の姓のみが挿入されます。

以下の例のように、追加するつもりでしたか?または、名前を毎回異なる要素に挿入しますか?

               success: function (data) {
                    $.each(data.response.legislators, function (i, item) {
                        $('#here').append('<span>' + item.legislator.lastname + '</span>');
                    });
                }
于 2012-05-21T01:17:13.567 に答える