【问题标题】:jquery-ui autocomplete does not seem to trigger? [closed]jquery-ui 自动完成似乎没有触发? [关闭]
【发布时间】:2016-06-24 06:03:19
【问题描述】:

我需要帮助来尝试使 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:加载页面时不会产生错误。

我不确定下一步该去哪里,我不确定如何触发此功能,该功能来自快速入门指南。非常感谢任何帮助。

【问题讨论】:

  • 您的代码似乎没问题。出于某种原因,我不得不将自动完成函数包装在另一个函数中,并调用该函数以使其工作,如下所示:function runAutocomplete() {// your autocomplete code}runAutocomplete();
  • 我在哪里坚持runAutocomplete?在输入标签的 on-change 事件中?
  • 不,你只是在你的javascript中调用它
  • 请看我的回答,告诉我这是否适合你
  • 这并没有为我解决。它似乎永远不会触发。

标签: javascript jquery jquery-ui autocomplete


【解决方案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");

【讨论】:

    猜你喜欢
    • 2012-06-17
    • 1970-01-01
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多