Установки: У меня есть форма, которая захватывает $thisSearch.val()
, сохраняет ее как файл cookie и толкает массив. Форма представляет собой наложение, инициированное из элемента меню в заголовке, поэтому оно может отображаться на любой странице сайта.Сохранение значений формы cookie на нескольких страницах
Вопрос заключается в том, что он только сохраняет или сохраняет введенные значения на/с той страницы, на которой он был введен. Я пытаюсь собрать все эти значения в один массив list.items()
, который можно ввести в любом месте сайта.
Я пробовал, нажимая строку на массив самостоятельно, вместо функции add
и перемещая дом вокруг формы поиска.
Я могу обновить вопрос, когда знаю, что конкретно спросить. Любые указатели/понятия, о которых я должен знать, были бы замечательными.
var cookieList = function(cookieName) {
var cookie = $.cookie(cookieName);
var items = cookie ? cookie.split(/,/) : new Array();
return {
"add": function(val) {
items.push(val);
$.cookie(cookieName, items.join(','));
},
"items": function() {
return items;
}
}
}
var list = new cookieList("PreviousSearches");
$searchSubmit.on('click', function() {
var $thisSearch = $(this).prev().find($searchInput);
if($thisSearch.val() == '') {
alert('Please enter a search term');
console.log(list);
return false;
} else {
searchTerm = $thisSearch.val()
list.add(searchTerm);
}
});
var searchTerms = list.items();
var total = searchTermsFiltered;
var searchTermsFiltered = searchTerms.filter(Boolean).slice(- 5).reverse();
var searchtermClean = searchTermsFiltered.join();
$.each($(searchTermsFiltered), function(i,v){
if (!window.location.origin)
window.location.origin = window.location.protocol+"//"+window.location.host;
var lastURLRaw = window.location.origin+'/bch/?s='+v;
var lastURL = lastURLRaw.replace(/ /g, '+');
listItem = '<li><a href="'+lastURL+'">'+v+'</a></li>';
$('.tags, .search-tags').append(listItem);
});