繁体   English   中英

根据国家选择从 JSON 文件的下拉列表中添加所有 state

[英]Adding all state in dropdown from JSON file based on country selection

我在 JSON 文件中有国家及其州的列表,下面是它的样子

"NO": {
"name": "Norway",
"states": {
  "VA": {
    "name": "Vest-Agder"
  },
  "RO": {
    "name": "Rogaland"
  },
  "HO": {
    "name": "Hordaland"
  },
  "SF": {
    "name": "Sogn og Fjordane"
  },
  "MR": {
    "name": "Møre og Romsdal"
  },
  "ST": {
    "name": "Sør-Trøndelag"
  },
  "NO": {
    "name": "Nord-Trøndelag"
  },
  "NT": {
    "name": "Nordland"
  },
  "TR": {
    "name": "Troms"
  },
  "FI": {
    "name": "Finnmark"
  },
  "SJ": {
    "name": "Svalbard"
  },
  "SJ": {
    "name": "Jan Mayen"
  },
  "AK": {
    "name": "Akershus"
  },
  "AA": {
    "name": "Aust-Agder"
  },
  "BU": {
    "name": "Buskerud"
  },
  "HE": {
    "name": "Hedmark"
  },
  "OP": {
    "name": "Oppland"
  },
  "OS": {
    "name": "Oslo"
  },
  "TE": {
    "name": "Telemark"
  },
  "VF": {
    "name": "Vestfold"
  },
  "OF": {
    "name": "Østfold"
  }
}

我要做的是根据下拉菜单中的国家/地区选择列出 state 名称。 假设如果选择挪威作为国家,下拉列表将包含列表中的所有 state 名称和值中的短名称

我在下面创建了代码,但下拉列表为空

$conobjitems = json_decode($jsonitemfile);
        echo "<select>";
$findBystatename = function($constatename) use ($conobjitems) {
        foreach($conobjitems->Norway as $short){
            echo "<option>". $short . "</option>";
        }
};
        echo "</select>";

在这里需要建议。

这是我想出的正确代码

        echo "<select>";

  foreach($conobjitems->PK->states as $short => $outputstate) {
            echo "<option value=". $short . ">". $outputstate->name . "</option>";
  }
        echo "</select>";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM