Как захватывать имена из вкладки с jQuery и отправлять данные имен с хост-листа на лист Name? -App Scripts - PullRequest
0 голосов
/ 25 апреля 2020

Наконец-то я получил более короткую функцию автозаполнения с jQuery. Теперь мне нужно 1. получить имена на вкладке листа «Имя» для функции автозаполнения и 2. Как только выбрано имя, отправьте данные на лист имени с основного листа. Html / css сделан для страницы.

Я гуглил несколько дней и не нашел никого, кто делал это раньше. Я новичок ie с jQuery / Javascript, поэтому, пожалуйста, имейте это в виду, предоставляя свои предложения.

<script>
  $( function() {
    var availableTags = [
      "Name 1",
      "Name 2",
      "Name 3"
    ];
    $( "#tags" ).autocomplete({
      source: availableTags
    });
  } );
  </script>

Редактировать: После выбора имени отправьте соответствующие данные на лист имени. Например: Дата, Клиент, Время, Имя 1. Если выбрано Имя 1, отправьте дату, клиента и время на лист имени 1 с основного листа. Если выбрано имя 2, отправьте его данные на имя 2. Так далее. Мне нужно около 25 разных имен. спасибо.

1 Ответ

0 голосов
/ 01 мая 2020

Решение

Чтобы предложить автозаполнение имен из списка в вашей таблице имен в столбце исходного листа, вам нужно создать проверку данных . Это может быть достигнуто как с помощью Пользовательский интерфейс и через Apps Script.

Суть в том, что когда вы создаете эту проверку данных, вы не хотите, чтобы раскрывающийся список был включен (так как ваша функция заключается только в автоматическом заполнении имен), и вы не хотите, чтобы пользовательский интерфейс предупреждал каждый раз, когда вы введите имя, которого нет в вашем списке имен.

1. Использование приложений Scipts

Следующий фрагмент кода создаст желаемую проверку данных. Есть комментарии, которые объясняют, как это работает. Чтобы узнать больше о том, как настроить проверку данных в электронной таблице, ознакомьтесь с документацией для Класс проверки данных и методами, использованными в этой реализации: newDataValidation , requireValueInRange и setAllowInvalid .

function myFunction() {
  // Get source range where we want the auto complete text
  var myRange = SpreadsheetApp.getActive().getSheetByName('Source').getRange('B:B');
  
  // Get the range of the list of names we want to auto complete
  var range = SpreadsheetApp.getActive().getSheetByName('Name').getRange('A1:A5');
  
  // Create a data validation rule with the dropdown list disables (this will allow to only show the name suggestions
  // and set allow invalid false to avoid the ui to pop a message every time you enter a value not in the list
  var rule = SpreadsheetApp.newDataValidation().requireValueInRange(range, false).setAllowInvalid(false).build();
  
  // Set the data validation to our range where we want the auto complete function
  myRange.setDataValidation(rule);
}

2. Использование пользовательского интерфейса

Создание проверки данных (на вашем листе go до Данные-> Проверка данных ) для вашего Source!B:B с критериями Список из диапазона с диапазоном Names!A2:Amax с показом раскрывающегося списка в ячейке без проверки и при неверных данных отклонение ввода .

Надеюсь, это помогло вам. Дайте мне знать, если вам нужно что-то еще или вы что-то не поняли. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...