Я хочу иметь возможность выбрать список опций из выпадающего списка со значениями «Station», взятыми из массива json - «smallData.json» (что я могу сделать, и он работает), а затем создать наборрезультатов из того же массива json, основанного на определенной опции "станции", выбранной из выпадающего списка (который в настоящее время не работает).Я предполагаю, что мне может понадобиться вызвать функцию и выполнить цикл по массиву с помощью метода onchange, однако я не уверен, как это будет работать.
[{"ID": 1, "Station": "Carmichael Rd. "," Address ":" 54 Myers Rd. "," Monthly_CStore_Sales ":" 120,000 "," Operator ":" Michael Sears "," Top_SKU ":" Hotdogs "}, {" ID ": 2,"Станция ":" Baillou Hill "," Адрес ":" 564 Jackson Ave. "," Monthly_CStore_Sales ":" 89000 "," Operator ":" Sarah Pikes "," Top_SKU ":" Patties "}, {" ID ":3, "Станция": "Oakesfield", "Адрес": "42 Peterson St.", "Monthly_CStore_Sales": "150000", "Operator": "Yolanda Grey", "Top_SKU": "Chicken"}]
<code>
<select id="dmenu"></select>
<div id="optionT"></div>
<script>
let dropdown = document.getElementById('dmenu');
dropdown.length = 0;
let defaultOption = document.createElement('option');
defaultOption.text = 'Choose Station';
dropdown.add(defaultOption);
dropdown.selectedIndex = 0;
const url = './smallData.json';
const request = new XMLHttpRequest();
request.open('GET', url, true);
request.onload = function() {
if (request.status === 200) {
const data = JSON.parse(request.responseText);
let option;
for (let i = 0; i < data.length; i++) {
option = document.createElement('option');
option.text = data[i].Station;
dropdown.add(option);
var optionText = "";
for (x in data){
optionText += '<ul>' +
'<li>Station: '+ data.Station[x] +'</li>' +
document.getElementById('optionT').innerHTML = optionText;
}
} else {
// Reached the server, but it returned an error
}
}
request.onerror = function() {
console.error('An error occurred fetching the JSON from ' + url);
};
request.send();
</script>
</code>
Пример: если я выберу, например: «Station Carmichael Road», все пары значений ключа, связанные с этим полем «Station», которые я хочу найти:
«ID: 1», «Address":" 54 Myers Rd. "," Monthly_CStore_Sales ":" 120 000 "," Operator ":" Michael Sears "," Top_SKU ":" Hotdogs "