2012-05-21 103 views
2

我是新來的,而我在與AJAX自動完成的問題,我得到這個錯誤使用Firebug(在Firefox):自動完成AJAX g.nodename未定義

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

,並在Chrome:

Uncaught TypeError: Cannot call method 'toLowerCase' of undefined 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
(anonymous function)

有人可以幫我的是,我使用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); 
     } 

    }); 
+0

嘗試給ajax調用添加「async:false」。 –

+0

不能正常工作,請參閱我的頁面:http://pastebin.com/wj3gyA2n – douglasjam

回答

7

先生您好,我認爲您收到此錯誤,因爲你正在使用$(本).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); 
     } 

    }); 
+0

謝謝你的作品我錯過了範圍 – douglasjam