代码:
<script>
$(function() {
function split( val ) {
return val.split( /,\s*/ );
}
function extractLast( term ) {
return split( term ).pop();
}
$( "#company" ).bind( "keydown", function( event ) {
if ( event.keyCode === $.ui.keyCode.TAB &&
$( this ).autocomplete( "instance" ).menu.active ) {
event.preventDefault();
}
})
.autocomplete({
minLength: 1,
source: function( request, response ) {
$.getJSON("company-skills.php", { term : extractLast( request.term )},response);
},
focus: function() {
return false;
},
select: function( event, ui ) {
var terms = split( this.value );
terms.pop();
terms.push( ui.item.value );
terms.push( "" );
this.value = terms.join( ", " );
return false;
}
});
});
</script>
<input type="text" name="company" id="company" placeholder="Job title, skills or company" class="form-control">
<?php
include('config.php');
$query = "SELECT company_name FROM company WHERE company_name LIKE '%".$searchTerm."%' ORDER BY company_name ASC;";
$query .= "SELECT key FROM skill WHERE key LIKE '%".$searchTerm."%' ORDER BY key ASC;";
mysqli_multi_query($con,$query);
$result = mysqli_store_result($con);
while($row = mysqli_fetch_assoc($result))
{
$data[] = $row['company_name'];
}
mysqli_free_result($result);
mysqli_next_result($con);
$result = mysqli_store_result($con);
while ($row = mysqli_fetch_assoc($result)) {
$data[] = $row['key'];
}
echo json_encode($data);
?>
在这段代码中,我创建了一个多选自动完成文本框,当我在文本框中写入内容时,它总是以&#34; A&#34;我是否从&#34; B&#34;或者任何字母表例如:如果我想写TATA,它会显示结果&#34; A&#34;信我不明白为什么?那么我该如何解决这个问题?请帮助我。
谢谢
答案 0 :(得分:0)
在您的第一个查询中:
company_name
您按ASC
对ORDER BY company_name ASC
进行了排序。您可以删除查询中的<rewrite name="rule-1" pattern="^/context A/(.*resource)" substitution="/context B/resource" flags="R"/>
。此类查询也没有任何相关点,因此结果可能不是您想要的结果。
答案 1 :(得分:0)
更改查询:
所以现在如果你从A
开始,只有那些公司会显示名称以'A'开头
有关详情:Mysql LIKE
$query = "SELECT company_name FROM company WHERE company_name LIKE $searchTerm."%' ORDER BY company_name ASC;";