我使用JQuery自动完成,它工作正常,我的问题是;
让我们说这个短语是“联想Y550笔记本”,当我写“联想Y550”或“Y550笔记本”时自动完成就可以了,但是当我写“联想笔记本”时我没有自动完成。
有没有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" />
此代码工作正常,但我想检查全名中的每个单词,而不仅仅是彼此相邻的单词。