autocomplete ajax g.nodename未定义

dou*_*jam 2 function jquery-autocomplete

我是新手,我遇到了ajax自动完成问题,我在Firebug中遇到此错误(在Firefox中):

g.nodeName未定义
c = f.valHooks [g.type] || f.valHooks [g.nodeName.toLowerCase()];
jquery .... min.js(linha 977)

在Chrome中:

未捕获的TypeError:无法调用未定义的方法'toLowerCase'jquery-1.7.2.min.js:977
f.fn.extend.val jquery-1.7.2.min.js:977
$ .autocomplete.source novo:77
a. widget._search jquery-ui-1.8.18.custom.min.js:127
a.widget.search jquery-ui-1.8.18.custom.min.js:127
(匿名函数)

有人可以帮助我,我使用jQuery 1.7.2分钟完成,我按照本教程http://www.jensbits.com/2011/08/24/using-jquery-autocomplete-when-remote-源JSON此结果未包含标签或-值字段/

我的json源代码返回上面的代码:

[{"id":"1","campo":"[1] Empresa Tal"},{"id":"2","campo":"[2] Outra Empresa Tal"},{"id":"3","campo":"[3] Mais Outra Empresa"}] 
Run Code Online (Sandbox Code Playgroud)

我的javascript函数:

 $('#accadempresa').autocomplete({
        source: function(request, response) {
            $.ajax({
                url: '/ajax.php?action=available&orm=cadempresa&campo=razsoc&valor=' + $(this).val(),
                dataType: "json",
                data: {term: request.term},
                success: function(data) {
                    response($.map(data, function(item) {
                        return {
                            id: item.id,
                            campo: item.campo
                        };
                    }));
                }
            });
        },
        minLength: 2,
        select: function(event, ui) {
            alert('ae');
            //$('#state_id').val(ui.item.id);
            //$('#abbrev').val(ui.item.abbrev);
        }

    });
Run Code Online (Sandbox Code Playgroud)

小智 8

您好Sir我认为您收到此错误是因为您正在使用$(this).val(); 用你的id $(你的元素id).val()替换那个代码.

$('#accadempresa').autocomplete({
        source: function(request, response) {
            $.ajax({
                url: '/ajax.php?action=available&orm=cadempresa&campo=razsoc&valor=' + $(elementid).val(),
                dataType: "json",
                data: {term: request.term},
                success: function(data) {
                    response($.map(data, function(item) {
                        return {
                            id: item.id,
                            campo: item.campo
                        };
                    }));
                }
            });
        },
        minLength: 2,
        select: function(event, ui) {
            alert('ae');
            //$('#state_id').val(ui.item.id);
            //$('#abbrev').val(ui.item.abbrev);
        }

    });
Run Code Online (Sandbox Code Playgroud)