私は JQuery オートコンプリートを使用していますが、問題なく動作します。私の質問は次のとおりです。
フレーズが「Lenovo Y550 Notebook」で、「Lenovo Y550」または「Y550 Notebook」と書くとオートコンプリートはOKですが、「Lenovo Notebook」と書くとオートコンプリートが得られません。
JQueryがいくつかの単語をスキップし、次の単語だけでなくすべてのフレーズの単語をチェックする方法はありますか? JQueryオートコンプリートでそれを行うことはできますか?
編集:
auto_complete.php
<?php
/ MYSQL Connection data /
$q = strtolower($_GET["q"]);
if (!$q) return;
$sql = "SELECT DISTINCT name AS name
FROM products_names A JOIN products B ON A.id_product = B.id
WHERE ((name LIKE '%$q%' AND language_code = 'pl') OR (name2 LIKE '%$q%' AND language_code = 'pl')) AND status = 0
";
$rsd = mysql_query($sql);
while($rs = mysql_fetch_array($rsd)) {
$cname = html_entity_decode($rs['name']);
echo "$cname\n";
}
?>
テンプレート ファイル:
<script type="text/javascript">
$().ready(function() {
$("#autosearch").autocomplete("auto_complete.php", {
width: 352,
max: 15,
minChars: 2,
cacheLength: 10,
matchContains: true,
selectFirst: false,
scroll: false,
autofill: true
}).keydown(function(e){
if (e.keyCode === 13) {
$(this).closest('form').trigger('submit');
}
});
});
</script>
<input id="autosearch" type="text" name="query" value="{$smarty.get.query}" class="search-input" />
このコードは正常に動作しますが、隣り合った単語だけでなく、名前全体のすべての単語をチェックしたいと思います。