jQueryを使用する必要があります。書かなかったため、テンプレートに含まれていました。jQuery Ajax推測型/予測問題
「推測タイプ」を実行し、検索するデータとしてメインナビゲーションを使用する関数があります。入力すると、サイト内のページがドロップダウンに表示されます。
データベースから顧客名をドロップダウンする必要がありますが、機能が動作しないようです。
function searchInNav(s)
{
// Split keywords
var keywords = s.toLowerCase().split(/\s+/);
var nbKeywords = keywords.length;
// Search links
//var links = $('nav a'); // original
var links = [];
// LOAD CUSTOMERS AND EVENTS
$.post('includes/ajax/global.php', { list: 'search', text: keywords },
function(data){
alert(data);
links.push($(data));
},
"html"
);
var matches = [];
links.each(function(i)
{
var text = $(this).text().toLowerCase();
var textMatch = true;
for (var i = 0; i < nbKeywords; ++i)
{
if (text.indexOf(keywords[i]) == -1)
{
textMatch = false;
break;
}
}
if (textMatch)
{
// All keywords found
matches.push(this);
}
});
// Build results list
var nbMatches = matches.length;
if (nbMatches > 0)
{
var output = '<p class="results-count"><strong>'+nbMatches+'</strong> match'+((nbMatches > 1) ? 'es' : '')+'</p>';
output += '<ul class="small-files-list icon-html">';
for (var m = 0; m < nbMatches; ++m)
{
// Text with highlighted keywords
var link = $(matches[m]);
var text = link.text();
var path = [text];
for (var i = 0; i < nbKeywords; ++i)
{
text = text.replace(new RegExp('('+keywords[i]+')', 'gi'), '<strong>$1</strong>');
}
// Path
var parent = link;
while ((parent = parent.parent().parent().prev('a')) && parent.length > 0)
{
path.push(parent.text());
}
output += '<li><a href="'+matches[m].href+'">'+text+'<br><small>'+path.reverse().join(' > ')+'</small></a></li>';
}
return output+'</ul>';
}
else
{
return '<p class="results-count">'+settings.messageNoMatches+'</p>';
}
};
links.each行には、Object is not methodというエラーが表示されます。
修正する必要はありますか?
ありがとうございます!
//var links = $('nav a'); // original
$( 'NAVのA')はNAV内のすべてのタグのjQueryオブジェクトを作る: