2

我是新来的,我在使用 ajax 自动完成时遇到了问题,我在 Firebug(在 Firefox 中)遇到了这个错误:

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

在 Chrome 中:

未捕获的类型错误:无法调用未定义 jquery-1.7.2.min.js:977
f.fn.extend.val jquery-1.7.2.min.js:977
$.autocomplete.source novo:77
a 的方法“toLowerCase”。 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- source-json-does-not-contain-label-or-value-fields/

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

[{"id":"1","campo":"[1] Empresa Tal"},{"id":"2","campo":"[2] Outra Empresa Tal"},{"id":"3","campo":"[3] Mais Outra Empresa"}] 

我的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);
        }

    });
4

1 回答 1

9

您好先生,我认为您收到此错误是因为您使用的是 $(this).val(); 将该代码替换为您的 id $(your element 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);
        }

    });
于 2012-10-11T06:34:48.030 回答