Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как взять опции для меню с файла? (https://javascript.ru/forum/misc/68777-kak-vzyat-opcii-dlya-menyu-s-fajjla.html)

Polines 08.05.2017 15:30

Как взять опции для меню с файла?
 
Делаю спадное меню (drop-down) как:
<select id="ddlViewBy">
  <option value="1">test1</option>
  <option value="2">test2</option>
  <option value="3">test3</option>
</select>

Но у меня сотня возможных значений для выбора, как их считывать с файла?

laimas 08.05.2017 15:52

Какого файла? Если речь о веб странице, значит данные с сервера, вот только с чего вдруг они в файле?

Polines 08.05.2017 16:01

Цитата:

Сообщение от laimas (Сообщение 451895)
Какого файла? Если речь о веб странице, значит данные с сервера, вот только с чего вдруг они в файле?

С текстового файла на сервере. Например файл data.txt выглядит так:
test1
test2
test3
....и так далее ...
test100

Не хочеться писать руками 100 строчек в коде
<select id="ddlViewBy">
  <option value="1">test1</option>
  <option value="2">test2</option>
  <option value="3">test3</option>
....и так далее ...
  <option value="100">test100</option>
</select>

laimas 08.05.2017 16:28

Каким боком какой-то файл может описывать меню разделов сайта, которые ну никак не могут быть файлами?

Polines 08.05.2017 16:32

Например в файле названия стран, и я хочу сдалеть как тут

laimas 08.05.2017 17:20

Дальше что, выберу я что-то в этом списке, что после этого должно произойти?

Diphenyl Oxalate 08.05.2017 19:23

Polines, аяксом можно получить

var xhr = new XMLHttpRequest();
xhr.open("GET", "data.txt", true);
xhr.send(null);
xhr.onreadystatechange = function () {
  if (xhr.readyState != 4) return;
  var countries = xhr.responseText.split("\n"),
  html = "";
  for (var i = 0; i < countries.length; i++)
    html += "<option>" + countries[i] + "</option>";
  alert(html);
};

laimas 08.05.2017 19:36

Diphenyl Oxalate,
и кто же при таком обращении будет отвечать клиенту?


Часовой пояс GMT +3, время: 10:23.