Javascript 只有在有5个结果时才显示YUI自动完成页脚

Javascript 只有在有5个结果时才显示YUI自动完成页脚,javascript,autocomplete,yui,yui-autocomplete,Javascript,Autocomplete,Yui,Yui Autocomplete,我希望autocomplete显示一个页脚,只有在实际显示5个结果时才会显示前5个结果 到目前为止,我已经设置好了页脚,以便在开始时少于5个结果时不会显示,但一旦加载了5个结果,页脚将始终显示,无论实际显示多少个结果 请原谅这愚蠢的flip噱头 oAC.formatResult = function(oResultData, sQuery, sResultMatch) { var sKey = sResultMatch // Extract the part

我希望autocomplete显示一个页脚,只有在实际显示5个结果时才会显示前5个结果

到目前为止,我已经设置好了页脚,以便在开始时少于5个结果时不会显示,但一旦加载了5个结果,页脚将始终显示,无论实际显示多少个结果

请原谅这愚蠢的
flip
噱头

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>"];

         if (oResultData[2] >= 4) {
            flip = true;
         }
         if (flip) {
            oAC.setFooter("<div style=\"margin-left:5px;\"><span style=\"font-weight:bold;\">See more results for " + sQuery + "</span><br>Showing top 5 results</div>");
         }
         return (aMarkup.join(""));
      };
oAC.formatResult=函数(oResultData、sQuery、sResultMatch){
var sKey=sResultMatch
//提取用户未键入的匹配部分
var sKeyRemainder=sKey.substr(sQuery.length);
oAC.setFooter(“”);
var aMarkup=[“”,
"",
斯奎里,
"",
斯凯雷曼德,
“
”, ""]; if(oResultData[2]>=4){ 翻转=真; } 如果(翻转){ oAC.setFooter(“查看更多显示前五名结果的“+sQuery+”
结果”); } 返回(aMarkup.join(“”); };
是否希望页脚仅在有5个结果时显示

那你不应该改变吗

if (oResultData[2] >= 4) {
    flip = true;
}


我没有尝试在
formatResult
函数中设置它,而是尝试使用
dobeforexpandcontainer
函数,它就像一个符咒

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;
}
oAC.formatResult=函数(oResultData、sQuery、sResultMatch){
var sKey=sResultMatch
//提取用户未键入的匹配部分
var sKeyRemainder=sKey.substr(sQuery.length);
oAC.setFooter(“”);
var aMarkup=[“”,
"",
斯奎里,
"",
斯凯雷曼德,
“
”, ""]; oAC.setFooter(
显示前五名结果); 返回(aMarkup.join(“”); }; oAC.dobeforexpandcontainer=函数(sQuery、orresponse){
如果(oAC.\n显示数据项是的,这是我尝试过的许多类似路由的一个变体。如果每次显示自动完成时都调用formatResult函数,这将起作用。但是,只有在检索结果时才会调用它。因此,根据此逻辑,如果键入一个字母并获得5个以上的结果,则页脚将显示。T当你输入更多的字母时,结果的数量就会减少。一旦你输入的字母少于5个,页脚就会消失。但是,由于已经检索到结果,因此不会调用此函数,页脚也不会受到影响。
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;
}