2014-12-20 3 views
0

Это мой Jquery:Jquery UI автозаполнения не работает с asp.net

$("#completeMe").autocomplete({ 
    source: function (request, response) { 
     $.ajax({ 
      url: "/Main.aspx/GetAutocomplete", 
      type: "POST", 
      dataType: "json", 
      data: Data, 
      contentType: "application/json; charset=utf-8", 
      success: function (data) { 
       response($.map(data, function (item) { 
        return { value: item }; 
       })) 

      } 
     }) 

    } 
}); 

Это мой Main.aspx.cs:

[System.Web.Services.WebMethod] 
public static List<string> GetAutocomplete(string cityName) 
{ 
    List<string> City = new List<string>() { "hh", "hh1" }; 

    return City; 
} 

Теперь это работает, когда я вернуть строку вместо списка , Но когда я использую его, как это со списком я получаю:

Uncaught TypeError: undefined is not a function jquery-ui.min.js:9...

Я не понимаю, это решение, кажется, работает для многих людей в Интернете, может быть, это что-то делать со своими версиями JQuery/UI? Я использую jquery 1.7.1.min и jquery-ui последнюю версию.

+0

Возможно, стоит посмотреть на ответ, который вы получаете от своего WebMethod; используйте консоль разработчика в своем браузере, обычно активируемую нажатием клавиши F12. –

ответ

3

Изменения функции успеха, как этот

success: function (data) { 
      response($.map(data.d, function (item) { 
       return { value: item }; 
      })) 

данные содержатся в data.d собственности.

+0

works, ty, my bad – user3770158

+0

@MairajAhmad: Хороший, вам нужно изучить Ajax. +1 для четкого объяснения. свойства 'data.d' – BNN

Смежные вопросы