2013-09-15 3 views
0

Я хочу использовать виджет автозаполнения в asp.net mvc4 app. Мне удалось вызвать действие, чтобы получить список значений autcompletition от контроллера. К несчастью, я не могу добавить его в список предложений. Я думаю, что .map (данные, функция (элемент) в успешной части автозаполнения ajax-вызова не работает. Но я действительно не знаю почему. Я уверен, что все скрипты и css загружаются по-разному. Я заявляю, список предложений, также сценарий в поле зрения и ответ от firebug.Я также пытался демонстрационный пример с jqueryui-страницы, и он работал, но каким-то образом он не работает над моими возвращенными данными. Может кто-нибудь помочь мне и рассказать мне, почему? . продвижениеasp.net mvc4 jquery ui autocomplete не работает

Действие в контроллере:

public ActionResult GetCities(int RegionId, string Name) 
{ 
     var ret = db.Cities.Where(c => c.RegionId == RegionId && 
      c.Name.Contains(Name)).Select(a => new{ CityId = a.CityId, Name = a.Name}); 
     return Json(ret); 
} 

Script в виду:

<script type="text/javascript"> 
$(function() { 
    $("#City").autocomplete({ 
     source: function(request, response) { 

     $.ajax({ 
      url: "@Url.Action("GetCities")", 
      dataType: "json", 
      contentType: "application/json; charset=utf-8", 
       method: "POST", 
       data: "{'RegionId': " + $("#Region").val() + ", 'Name': '" + request.term + "'}", 

       success: function (data) { 
        response($.map(data, function(item) { 
         return { 

          label: item.Name, 
          value: item.Name 
         } 
        })); 
       }, 

       error: function(XMLHttpRequest, textStatus, errorThrown) { 
        alert(textStatus); 
       } 
      }); 
}, 
     minLength: 2 
    }); 
}); 

Response (от поджигатель)

[{"CityId":16,"Name":"Kordíky"},{"CityId":94,"Name":"Korytárky"}] 

ответ

0

Так я узнаю, что она работает, единственная проблема была, что я имел точку останова в визуальной студии, и эта точка останова была подавляя автозаполнения списка предложений.

0

для Mvc Artitecture вы должны удалить уже imbended @ Scripts.Render ("~/связки/Jquery") и @ Scripts.Render ("~/связки/Jquaryval") на всех .cshtml файлов в конце и также просматривает/Shared/_layout.cshtml на конце и помещает наши jaquery подходящие файлы в свои файлы .cshtmls в голове. ... и позволяет наслаждаться.

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