瀏覽代碼

HW9 in process

Vadym Hlushko 2 年之前
父節點
當前提交
2e094b7aea
共有 2 個文件被更改,包括 50 次插入0 次删除
  1. 11 0
      hw9/index.html
  2. 39 0
      hw9/main.js

+ 11 - 0
hw9/index.html

@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Document</title>
+</head>
+<body>
+    <script src="main.js"></script>
+</body>
+</html>

+ 39 - 0
hw9/main.js

@@ -0,0 +1,39 @@
+//countrySelectTask
+
+let countrySelect = document.createElement('select')
+let citySelect = document.createElement('select')
+citySelect.id = "citySelect"
+countrySelect.id = "countrySelect"
+
+document.body.appendChild(countrySelect)
+document.body.appendChild(citySelect)
+
+
+fetch('https://raw.githubusercontent.com/russ666/all-countries-and-cities-json/master/countries.json')
+    .then(res => res.json())
+    .then(json => {
+        let countrySelect = document.getElementById('countrySelect')
+        let citySelect = document.getElementById('citySelect')
+
+        function addOptions(select, arr) {
+            for (let i = 0; i < arr.length; i++) {
+                select.add(new Option(arr[i]))
+            }
+        }
+
+        let countries = Object.keys(json)
+        addOptions(countrySelect, countries)
+
+        let defaultCities = json[countries[0]]
+        addOptions(citySelect, defaultCities)
+
+        countrySelect.addEventListener('change', function() {
+            let cities = json[this.value]
+            citySelect.length = 0
+            addOptions(citySelect, cities)
+        })
+        console.log(json)
+})
+
+//tableMouseTask
+