我使用 JQuery 自动完成,它工作正常,我的问题是;
假设短语是“Lenovo Y550 Notebook”,当我写“Lenovo Y550”或“Y550 Notebook”时自动完成是可以的,但当我写“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" />
此代码工作正常,但我想检查全名中的每个单词,而不仅仅是彼此相邻的单词。