-1

XMLファイルからjQuery配列を印刷しようとしています。これが私のコードです。HTMLコードからわかるように、stockListを印刷しようとしています。また、onBodyLoad を正しく実行しましたか?

HTML:

    <body onload="onBodyLoad()">
      <div id="stockList"></div>
      <br />
      <br />
      <br />
      <div id="stockInfo"></div>
   </body>

jQuery:

$(document).ready(function () {
    $.ajax({
        type: "GET",
        url: "stocks.xml",
        dataType: "xml",
        success: function (onBodyLoad) {
            var stocklist = new Array();
            var stockinfo = new Array();
            $(onBodyLoad).find('Stock').each(function () {
                var company = $(this).find('Company').text();
                var market = $(this).find('Market').text();
                var sector = $(this).find('Sector').text();
                var price = $(this).find('Price').text();
                $(onBodyLoad).find('YearRange').each(function () {
                    var low = $(this).find('Low').text();
                    var high = $(this).find('High').text();
                });
                $(onBodyLoad).find('Dividend').each(function () {
                    var amount = $(this).find('Amount').text();
                    var yieldx = $(this).find('Yield').text();
                    var frequency = $(this).find('Frequency').text();
                });
                stocklist = $(company);
                $('#stockList').append('<div><p>' + stocklist + '</p></div');
            });
        }
    });
});

XML:

<Stock symbol="GOOG">
    <Company>Google</Company>
    <Market>NASDAQ</Market>
    <Sector>Software</Sector>
    <Price>$487.80</Price>
    <YearRange>
        <Low>$331.55</Low>
        <High>$488.50</High>
    </YearRange>
    <Dividend available="false"/>
</Stock>
<Stock symbol="BA">
    <Company>Boeing Company</Company>
    <Market>NYSE</Market>
    <Sector>Aerospace</Sector>
    <Price>$79.05</Price>
    <YearRange>
        <Low>$63.70</Low>
        <High>$89.58</High>
    </YearRange>
    <Dividend available="true">
        <Amount>$1.20</Amount>
        <Yield>$1.50</Yield>
        <Frequency>QTR</Frequency>
    </Dividend>
</Stock>

望ましい出力:
Google
Boeing Company

4

2 に答える 2

1

会社名を収集し、並べ替えて、印刷するには、次のようにします。

$(document).ready(function () {
    $.ajax({
        type: "GET",
        url: "stocks.xml",
        dataType: "xml",
        success: function (xmlData) {
            var companyNames = [];
            $(xmlData).find('Stock').each(function () {
                var company = $(this).find('Company').text();
                companyNames.push(company);
            });
            companyNames.sort();
            $.each(companyNames, function (index, name) {
                $('#stockList').append('<div><p>' + name + '</p></div>');
            });
        }
    });
});
于 2013-03-28T04:20:54.970 に答える
0

次のようにコードを変更します。

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

   </body>

脚本:

$(document).ready(function () {
    $.ajax({
        type: "GET",
        url: "stocks.xml",
        dataType: "xml",
         success: function(xml){
         var newArray = [];
            $(xml).find('Stock').each(function () {
                var company = $(this).find('Company').text();

               newArray.push(company );


            });

           newArray.sort();

            $(companyNames).each( function (index, name) {
            $('#stockList').append('<div><p>' + name + '</p></div>');
        });

        }
    });
});
于 2013-03-28T04:19:49.120 に答える