jquery 自动完成错误

标签 jquery jquery-ui jquery-ui-autocomplete

我有一个如下所示的函数:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript"></script>
<script src="/js/jquery-ui-1.8.13.custom.min.js" type="text/javascript"></script>

function getValues (fieldName, action){
            $("#" + fieldName).keyup(function () {
                if (this.value != this.lastValue){
                    if (this.timer) clearTimeout(this.timer);
                    this.timer = setTimeout(function () {
                        //$( "#"+fieldName ).autocomplete({source:"http://www.expat-job.com/ajax/" + action + "/keyword/" + $("#" + fieldName).val()});
                        $.ajax({
                            type: "POST",
                            dataType: 'json',
                            url:"http://www.expat-job.com/ajax/" + action + "/keyword/" + $("#" + fieldName).val(),
                            success:function(msg) {
                                //splitedmsg = msg.split(',');
                              $( "#"+fieldName ).autocomplete(msg);
                            }
                        });
                    }, 200);
                    this.lastValue = this.value;
                }
            });
        }

然后这样调用:

$('input').live('click', function() {

                var word = $(this).attr('id');
                var splitedWord = word.split('-');
                switch(splitedWord[1])
                {
                    case 'CompanyName':
                        getValues(word, 'cv-company');
                    case 'DegreeName':
                        getValues(word, 'degree-name');
                    case 'InstituteName':
                        getValues(word, 'institute-name');
                    case 'LanguageName':
                        getValues(word, 'language-name');
                    case 'CertificationName':
                        getValues(word, 'certification-name');
                    case 'SkillName':
                        getValues(word, 'skill-name');
                    case 'JobTitle':
                        getValues(word, 'job-title');
                }
            });

ajax 响应如下所示:

["Mondial Assistance","Mondial Assistance Asia Pacific","Mondial Assistance Group","Mondial Assistance Mauritius","Mondial Assistance Thailand"]

这是一个封装在 json_encode() 中的数组。

我的问题在于自动完成部分:

 $( "#"+fieldName ).autocomplete(msg);

我已经尝试了所有可能的方法来输入数据。我已经回显了一个字符串并将其拆分以获得一个数组。

我使用了不同的语法: $( "#"+fieldName ).autocomplete({source: msg});

我总是收到相同的错误消息:

$("#" + fieldName).autocomplete is not a function
success()cv (line 453)
msg = "["Mondial Assistance","...l Assistance Thailand"]"
F()jquery.min.js (line 19)
F()jquery.min.js (line 19)
X = 0

经过大量测试,我发现它可以通过像这样的简单测试来工作:

$( "#"+fieldName ).autocomplete({source: ["orange","apple","pear"]});

所以问题不在于函数丢失或库未加载或类似的问题。

现在问题

为什么?!

最佳答案

<script src="http://code.jquery.com/jquery-1.5.2.min.js"></script> 

<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js"></script> 

 $( "#"+fieldName ).autocomplete({source: msg} ); 

您没有设置源。

关于jquery 自动完成错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6123403/

相关文章:

javascript - 单击后将多个数组的结果附加到初始生成的 ul,这是如何完成的?

javascript - 如何划掉表格中的一行?

jquery-ui - 检测 Facebox 何时关闭

jquery - jQuery UI 自动完成的自定义搜索功能

javascript - jquery 日期选择器 : weird documentation substraction in minDate

jquery - 将 jQuery nestedSortable 元素(正在拖动)限制在容器内?

javascript - 如何在 jQuery 组合框自动完成中匹配多个子字符串

javascript - 通过 JavaScript 发送 Facebook 聊天消息

javascript - CDN 完整性属性有时在 Firefox 中失败

jquery - 未捕获的 TypeError : $(. ..).draggable 不是函数