Не совсем вопрос DataTable, но весело, и мне скучно без ума; -)
URL-адрес, который вы разместили, верен, и вы прокомментировали его в CodePen, я его не использую, поэтому выложил исправленную версию на JSFiddle здесь . Вы были почти у цели, но вам нужно было проверить функцию поиска, которую вы пытались, которая работала бы с типами данных, но не с теми, которые вы использовали. Вам нужно было искать в объектах, возвращенных для значения, а затем возвращать значение, отличное от найденного объекта.
У вас также было два метода, которые запускались один раз при загрузке DOM, поэтому я удалил один.
var publicSpreadsheetUrl = 'https://docs.google.com/spreadsheets/d/1sbyMINQHPsJctjAtMW0lCfLrcpMqoGMOJj6AN-sNQrc/pubhtml';
function showInfo(data, tabletop) {
dt = data;
}
var dt;
$(document).ready(function() {
Tabletop.init({
key: publicSpreadsheetUrl,
callback: showInfo,
simpleSheet: true
});
$("#buttonShow").click(function() {
var num = $("#txtBox").val();
$("#result").html(
"You typed:" + $("#txtBox").val() + "<br/>" + "The corresponding value is: " + dt.find(el => el.title.toLowerCase().trim() === num.trim().toLowerCase()).author
);
});
});
Есть много других вещей, которые можно улучшить, но это работает! Надеюсь, это поможет и удачи!