diff --git a/public/src/client/search.js b/public/src/client/search.js index f9d7bdbc6d..4ca01b80f9 100644 --- a/public/src/client/search.js +++ b/public/src/client/search.js @@ -15,7 +15,7 @@ define('forum/search', [ let selectedUsers = []; let selectedTags = []; let selectedCids = []; - + let searchFilters = {}; Search.init = function () { const searchIn = $('#search-in'); searchIn.on('change', function () { @@ -30,9 +30,7 @@ define('forum/search', [ $('#advanced-search form').off('submit').on('submit', function (e) { e.preventDefault(); - searchModule.query(getSearchDataFromDOM(), function () { - $('#search-input').val(''); - }); + searchModule.query(getSearchDataFromDOM()); return false; }); @@ -53,12 +51,20 @@ define('forum/search', [ if (updateFns[$(this).attr('data-filter-name')]) { updateFns[$(this).attr('data-filter-name')](); } + + const searchFiltersNew = getSearchDataFromDOM(); + if (JSON.stringify(searchFilters) !== JSON.stringify(searchFiltersNew)) { + searchFilters = searchFiltersNew; + searchModule.query(searchFilters); + } }); fillOutForm(); updateTimeFilter(); updateReplyCountFilter(); updateSortFilter(); + + searchFilters = getSearchDataFromDOM(); }; function updateTagFilter() { diff --git a/public/src/modules/search.js b/public/src/modules/search.js index ebcc12dab0..566be43ab2 100644 --- a/public/src/modules/search.js +++ b/public/src/modules/search.js @@ -243,8 +243,7 @@ define('search', [ Search.query = function (data, callback) { callback = callback || function () {}; - ajaxify.go('search?' + createQueryString(data)); - callback(); + ajaxify.go('search?' + createQueryString(data), callback); }; Search.api = function (data, callback) {