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(""));
};
그래, 내가 시도한 여러 가지 유사한 경로 중 한 가지 변형입니다. autocomplete가 표시 될 때마다 formatResult 함수가 호출되면 작동합니다. 그러나 결과를 검색 할 때만 호출됩니다. 따라서이 논리를 사용하여 편지를 입력하고 5 개 이상의 결과를 얻으면 바닥 글이 표시됩니다. 그런 다음 글자를 더 입력하면 결과 수가 줄어 듭니다. 일단 5 이하로 내려 가면 바닥 글이 사라집니다. 그러나 결과가 이미 검색되었으므로이 함수는 호출되지 않고 바닥 글은 영향을받지 않습니다. – Jimmy