【问题标题】:Adding all state in dropdown from JSON file based on country selection根据国家选择从 JSON 文件的下拉列表中添加所有状态
【发布时间】:2020-05-18 13:13:30
【问题描述】:

我在 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"
  }
}

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

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

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

在这里需要建议。

【问题讨论】:

  • 您将 findBystatename 定义为一个函数,但实际上从未在任何地方调用该函数,因此您的输出可能只是
  • @Simon 谢谢你,我已经修复了我的代码,这是我的错误:)

标签: php arrays json


【解决方案1】:

这是我想出的正确代码

        echo "<select>";

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-20
    • 1970-01-01
    • 2013-02-27
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多