Jquery自动完成并不总是有效

时间:2016-11-08 11:38:00

标签: jquery autocomplete jquery-ui-autocomplete

我一直在使用此代码autocomplete input。在许多情况下,代码工作正常,但在某些情况下却没有。它与iOS用户,Android用户,Windows 7, 8, 10用户,ChromeFirefox有关。

可用标签包括13500个列表。

感谢您的帮助;)

$( "#tags" ).autocomplete({
  minLength: 3,
  delay: 100,
  autoFocus: false,
  source: function (request, response) {
  var term = $.ui.autocomplete.escapeRegex(request.term)
            , startsWithMatcher = new RegExp("^" + term, "i")
            , startsWith = $.grep(availableTags, function(value) {
                return startsWithMatcher.test(value.label || value.value || value);
            })
            , containsMatcher = new RegExp(term, "i")
            , contains = $.grep(availableTags, function (value) {
                return $.inArray(value, startsWith) < 0 &&
                    containsMatcher.test(value.label || value.value || value);
            });

        response(startsWith.concat(contains));
    },
  focus: function(event, ui) {
    $( "#tags" ).val(ui.item.value);
    return false;
  },
  select: function(event, ui) {
    $( "#{/literal}{$plzid}{literal}" ).val(ui.item.plz);
    $( "#{/literal}{$blid}{literal}" ).val(ui.item.bl);
    return false;
  }                       
   });

1 个答案:

答案 0 :(得分:0)

我认为你可以使用php来处理要在inout字段中显示的数据

php代码:

的search.php

<?php
require 'config.php';
$key = $_GET["term"];
$query = "select * from students where name like '%$key%'";
$result = mysqli_query($con,$query);
while($ser=mysqli_fetch_assoc($result)){
    $data[] = $ser["name"];
}
echo json_encode($data);
?>

jquery代码:

<script>
$(function(){
$("#name").autocomplete({
  source:'search.php'
  });
});
</script>
<input type="text" id="name">

注意: 别忘了添加Jquery UI插件