2015-01-27 6 views
0

Установки: У меня есть форма, которая захватывает $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); 
}); 

ответ

Смежные вопросы