В зависимости от того, насколько сложен объект, будет неудобно пропустить его через форму, что даст вам возможность сохранить его в локальном хранилище или получить его через AJAX. Я бы согласился с последним, но это, по сути, означало бы делать то, что вы сказали, что вы не хотите делать, то есть распознавать что-то о странице orange.html
и делать вызов. Проще говоря, это что-то вроде того, что я бы сделал:
Вкл. orange.html
вызов AJAX:
let xhttp = new XMLHttpRequest()
xhttp.onreadystatechange = () => {
if(this.readyState == 4 && this.status == 200) {
let obj = this.responseText;
}
}
xhttp.open("GET", "orange.js", true)
xhttp.send()
Конечно, если у вас есть отдельная страница для каждого раскрывающегося списка (например, apple. html, оранжевый. html, et c) вы можете просто жестко закодировать правильный объект на каждой странице, но с помощью AJAX вы можете сделать свой код более сухим, имея одну страницу, которую отправляет форма и, в зависимости от значения раскрывающегося списка, вызовите отдельный файл AJAX (например, оранжевый. js, apple. js) ИЛИ отдельный файл js и возьмите правильный объект:
xhttp.open("GET", "fruit.js", true)
тогда:
let orange = obj.orange
Надеюсь, это имеет смысл.