jquery-ui autocomplete似乎没有触发?

时间:2016-06-24 06:03:20

标签: javascript jquery jquery-ui autocomplete

我需要帮助尝试使jQuery-ui自动完成功能正常工作。我的代码如下:

<script src="/js/jquery.min.2.2.4.js"></script>
<link rel="stylesheet" href="/js/jquery-ui/jquery-ui.min.css">
<script src="/js/jquery-ui/jquery-ui.min.js"></script>
<script type="text/javascript">
$(function() {
    $('#sku').autocomplete({
        source: function(request, response){
            $.ajax({
                url: '/api.php',
                type: 'POST',
                data: {
                    function: 'skuAutocomplete',
                    data: {
                        skuAutocomplete: request
                    }
               },
               error: function() {
                  alert('An error occurred connecting to server. Please check your network');
               },
               dataType: 'json',
               success: function(json) {
                    if (json.status) {
                        response(json.data.skuAutocomplete);
                    }else{
                        alert(json.message);
                    }
                }
            });
        },
        minLength: 3
    });
});
</script>
<input type="text" name="sku" id="sku">

当我开始输入文本框时,我没有收到任何网络请求或控制台日志中的任何错误。

我查了一下:

1:正在加载所有jQuery函数,而没有文件404。

2:加载页面时没有产生错误。

我不确定下一步该怎么做,我不知道如何触发这个功能,它来自快速入门指南。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,这似乎解决了我的问题:

function runAutocomplete(element) {
 $(element).autocomplete({
    source: function(request, response){
        $.ajax({
            url: '/api.php',
            type: 'POST',
            data: {
                function: 'skuAutocomplete',
                data: {
                    skuAutocomplete: request
                }
           },
           error: function() {
              alert('An error occurred connecting to server. Please check your network');
           },
           dataType: 'json',
           success: function(json) {
                if (json.status) {
                    response(json.data.skuAutocomplete);
                }else{
                    alert(json.message);
                }
            }
        });
    },
    minLength: 3
 });
}

runAutocomplete("#sku");