我希望自動完成顯示僅在實際顯示5個結果時才顯示Displaying top 5 results
的頁腳。只有當有5個結果時顯示YUI自動完成頁腳
到目前爲止,我已經設置了它,使得它不會顯示,如果起初有少於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(""));
};
是的,這是我嘗試過的許多類似路線的一個變體。如果formatResult函數在每次顯示自動完成時都被調用,則這將起作用。但是,只有在檢索結果時才調用它。所以有了這個邏輯,如果你輸入一個字母並得到5個以上的結果,頁腳就會顯示出來。然後當你輸入更多的字母時,結果的數量會減少。一旦你下降到5以下,頁腳應該消失。但是,由於結果已經被檢索到,因此該函數不會被調用,並且頁腳不受影響。 – Jimmy 2011-02-24 20:08:56