Добавить опцию, чтобы выбрать для каждой строки, отображаемой в PHP - PullRequest
0 голосов
/ 03 октября 2018

Я проверил некоторые другие подобные вопросы, но они не делают точно то, что я пытаюсь сделать.Я ajaxing php-страницы, чтобы отобразить содержимое папки на моем сервере.Прямо сейчас у меня есть список файлов строка за строкой.Я просто хотел бы взять значение каждой строки и добавить его в поле выбора.

Если я могу просто найти способ в javascript для запуска цикла для каждой строки, найденной на этой странице php, яМожно добавить опцию для выбора самостоятельно.Есть идеи, как этого добиться?Все, что я нахожу в Интернете, предназначено для другого сценария, и я не могу найти ничего, что будет работать.Спасибо

Редактировать: Это самое близкое, что я получил

var files = msg.split(" ");
                $.each(files, function(index, value) {
                    var x = document.getElementById("Emulators");
                    var option = document.createElement("option");
                    option.text = files;
                    x.add(option);
                });

Когда я это сделаю, это результат

Любая идея, почемуэто последний выпадающий выглядит так?Это то, что php page выводит

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

Вот способ перебора данных с использованием функции карты массива для вызова функции добавления jQuery.

const mySelect = $('#my-select');
const files = ['path/file1.ext', 'path/file2.ext'];

files.map(x => {
  mySelect.append( $('<option value="' + x + '">' + x + '</option>') );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="my-select"></select>
0 голосов
/ 03 октября 2018

Самый простой способ, поскольку вы уже используете JS / jQuery, это использовать $.append() doc .

. Или сделайте это как часть вашего возврата, или выполните цикл пофайл.Вам не нужно создавать файл, если вы добавляете его в .success(data) функцию вызова ajax.Просто попросите файл PHP, который вы вызываете, выводить то, что вам нужно, в формате, который вы можете интерпретировать, например, json_encode ваш выходной массив.

Редактировать добавление предложения:

СЛЕДУЮЩАЯ НЕПРОВЕРЕНА ИЧисто для примера:

Примечание: ожидается, что test.php выведет отформатированные данные в виде массива, проанализированного с помощью json_encode.

$.ajax({
  url: "test.php"
}).success(function(data) {
  var files = JSON.parse(data);
  $.each(files, function(index, value) {
     $('#result-div').append( value );
  });
});
.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...