Добавление параметров в HTML выберите через JQuery в скрипте приложения Google - PullRequest
1 голос
/ 20 сентября 2019

У меня есть встроенное веб-приложение через скрипт приложения Google.Я пытаюсь обновить / добавить параметры HTML Select с помощью jquery, основываясь на выборе предыдущего значения, которое было выбрано из предыдущего выбора.

Я зарегистрировал результаты, и моя подборка файлов работает, но это не такдобавив его в качестве параметров в Select.

Предыдущий параметр выбора имеет уникальное значение, назначенное для каждого параметра, целевой выбор имеет несколько параметров с одинаковым значением.Основываясь на предыдущем значении, я хочу отфильтровать, чтобы показать только варианты с этим значением.В настоящее время ничего не отображается для выбора.

Сторона сервера:

function getPrimaryClinics() {
  var ss = SpreadsheetApp.openByUrl(url);
  var ws = ss.getSheetByName("Data");
  var listPS = ws.getRange(1, 1, ws.getRange("A1").getDataRegion().getLastRow(), ws.getRange("A1").getDataRegion().getLastColumn()).getValues();

  return listPS;

} // EDITOR ADDED THIS

Сторона клиента:

var primaryClinics = [];
$(function() {
  google.script.run.withSuccessHandler(setPses).getPrimaryClinics();
})

function setPses(pses) {
  primaryClinics.push(...pses);
}

$("#org").change(function() {
  var selectedorg = $(this).val();
  var primaryClinicSelectList = $('#PS');

  var filteredClinics = primaryClinics.filter(function(clinic) {
    return clinic[0] === selectedorg;
  });

  console.log(primaryClinicSelectList);

  primaryClinicSelectList.find('option[value!="default"]').remove();

  for (var i = 1; i < filteredClinics.length; i++) {
    primaryClinicSelectList.append(new Option(filteredClinics[i][1]));
  }

  console.log(primaryClinicSelectList);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="row">
  <div class="input-field col s6">
    <select id="PS" required>
      <option disabled value="default" selected>Choose the primary clinic</option>
    </select>
    <label>Choose the primary clinic for where this provider will need a schedule</label>
  </div>
...