2013-01-24 17 views
0

對不起類似的帖子已經在社區中,但我發現它很奇怪。它工作正常,但它影響了我的其他意見,而不是讓其他視圖頁面來填充任何對話盒..未捕獲TypeError:對象沒有方法自動完成,並阻止填充對話框刪除

我試圖通過函數進行包裝()這樣的

$('#_auto').autocomplete(function(){ 

但是,隨着修復它這我沒有在_auto文本字段中獲取jason值,並且獲得了以下行的意外令牌錯誤。 任何人都可以幫助我解決這個請。

source: function(request,response){ 

這是我的代碼:

$(function() { 
    $('#_auto').autocomplete({ 
     selectFist: true, 
     minLength: 2, 
     source: function (request, response) { 
      var sval = $('#_auto').val(); 
      //alert(sval); 
      $.ajax({ 
       url: BASE_URL + '/controller/search/', 
       type: 'POST', 
       data: { 
        'term': sval, 
       }, 
       dataType: 'json', 
       success: function (data) { 
        console.log(data); 
        var dta = []; 
        orgdetails = []; 
        //response(data.d); 
        for (var i in data) { 
         dta.push(data[i].name); 
         orgdetails[data[i].name] = data[i].id; 
        } 
        response(dta); //response(dta); 
       }, 
       error: function (result) {} 
      }); //ajax 
     } 
    }).focus(function() { 
     $(this).trigger('keydown.autocomplete'); 
    }); 
}); 

非常感謝

+0

我認爲你錯過了'});'末 – DickieBoy

+0

@DickieBoy - 見右側的滾動條? ;) – Archer

+0

在同一頁面(表單頁)我在哪裏得到json值其工作完美..但它拋出其他查看頁面的錯誤 – Developer

回答

1

我認爲for循環應該是

var dta = $.map(data, function(v, i){ 
    orgdetails[v.name] = v.id; 
    return { 
     label: v.name, 
     id: v.name 
    }; 
}); 

Fiddle

另一種看法,你可以得到當前的搜索使用request.term長期而不是$('#_auto').val()

完整代碼:

$('#_auto').autocomplete({ 
    selectFist: true, 
    minLength: 2, 
    source: function (request, response) { 
     $.ajax({ 
      url: BASE_URL + '/controller/search/', 
      type: 'POST', 
      data: { 
       'term': request.term, 
      }, 
      dataType: 'json', 
      success: function (data) { 
       console.log(data); 
       orgdetails = {}; 

       var dta = $.map(data, function(v, i){ 
        orgdetails[v.name] = v.id; 
        return { 
         label: v.name, 
         id: v.name 
        }; 
       }); 
       response(dta); //response(dta); 
      }, 
      error: function (result) {} 
     }); //ajax 
    } 
}).focus(function() { 
    $(this).trigger('keydown.autocomplete'); 
}); 
+0

它沒有填充值,如果我使用如此.. :( – Developer

+0

是什麼數據? –

+0

數據是json對象的值和編號 – Developer

相關問題