Вместо того, чтобы пытаться установить его в функции formatResult
, я попытался использовать функцию doBeforeExpandContainer
, и она работает как шарм.
oAC.formatResult = function(oResultData, sQuery, sResultMatch) {
var sKey = sResultMatch
// Extract the part of the match that the user did not type
var sKeyRemainder = sKey.substr(sQuery.length);
oAC.setFooter("");
var aMarkup = ["<div class='myCustomResult'>",
"<span style='font-weight:bold'>",
sQuery,
"</span>",
sKeyRemainder,
"<br>",
"</div>"];
oAC.setFooter("<div class=\"ac-footer\"><div class=\"ac-footer-content\"><a class=\"ac-footer-link\" href=\"#\" onclick=\"spandex(this,event,'filter-company');return false;\">See more results for <b>" + sQuery + "</b></a><br><span class=\"ac-footer-sub\">Showing top 5 results</span></div></div>");
return (aMarkup.join(""));
};
oAC.doBeforeExpandContainer = function(sQuery, oResponse) {
if (oAC._nDisplayedItems <= 5) {
oAC.setFooter("");
}
return true;
}
doBeforeExpandContainer
вызывается каждый раз, когда контейнероткрывается (как и следовало ожидать), и _nDisplayedItems
- это количество элементов, которые будут отображаться в списке (также как вы ожидаете).
Поэтому, когда результаты получены, добавляется нижний колонтитулкаждый раз.Затем, перед тем, как в окне появится пять или менее результатов, нижний колонтитул будет удален.