1

jQuery CSVを使用して、Web サーバー上の .csv ファイルを解析しています。追加のフィールド (一般名、首都、国コードなど) を含む国のリストを含むデモ ファイルを使用して動作するようになりました。

そこから、ここにあるルックアップ関数を使用しています: Jquery how to find an Object by attribute in an Array to return matching objects from the parsed file.

これまでの私のコードは次のとおりです。

jQuery(document).ready(function($){                         
    $.ajax({
       type: "GET",
       url: "path/countrylist.csv",
       dataType: "text",
       success: function(data) {
       var data = $.csv.toObjects(data);
       console.log(data);

       var country = lookup(data, "Common Name", "Albania");
       $.each(country, function(i, val) {
           $("#albania").append(i + ": " + val + "<br/>");
       });
     });
  });

これは、ID「#albania」の div に表示している「Albania」オブジェクトを返します。

Sort Order: 2
Common Name: Albania
Formal Name: Republic of Albania
Type: Independent State
Sub Type: 
Sovereignty: 
Capital: Tirana
ISO 4217 Currency Code: ALL
ISO 4217 Currency Name: Lek
ITU-T Telephone Code: 355
ISO 3166-1 2 Letter Code: AL
ISO 3166-1 3 Letter Code: ALB
ISO 3166-1 Number: 8
IANA Country Code TLD: .al

私が立ち往生しているのは、国オブジェクトからこのデータのサブセットを表示したいということです。たとえば、共通名、首都、および国コードのみを表示したいとします。

これらのキー/ヘッダー行が各国で同じであると仮定すると、これらの値だけを表示するにはどうすればよいですか? jQuery .slice() が機能していません。おそらく、これは配列ではなくオブジェクトであるためです(?)。

キー/ヘッダー行名でサブセットを選択できますか? それらは変わらないので、それは別のオプションかもしれません。

4

1 に答える 1

1

これで解決です。$.each() とドット表記を使用して、オブジェクト内の特定のキーをターゲットにする必要がありました。

これは、共通名と首都のみを取得し、それを国名の id を持つ div に追加する私の作業コードです。

$.each( data, function( i, v ) {
var name = v.Common_Name.toLowerCase();
var country = v.Common_Name;
var capital = v.Capital;

    $("#" + name).append(
        "Name" + ": " + country + "<br/>" 
               + "Capital" + ": " + capital + "<br/>"
    );
});

私のHTML:

<div class="countries clearfix">
    <div id="afghanistan" class="country"></div>
    <div id="albania" class="country"></div>
    <div id="algeria" class="country"></div>
    <div id="andorra" class="country"></div>
</div>

結果:

Name: Afghanistan
Capital: Kabul

Name: Albania
Capital: Tirana

Name: Algeria
Capital: Algiers

Name: Andorra
Capital: Andorra la Vella
于 2015-01-25T07:01:34.147 に答える